2013-04-04 1 views
0

quand je veux ajouter le nouveau client sur le livre rapide à C# .i reçois cette erreur: Récupération de l'usine de classe COM pour le composant avec CLSID {178AACCA -9DCE-42A0-A193-CF4985B930E5} a échoué en raison de l'erreur suivante: 80040154.Obtenir erreur Récupération de l'usine de classe COM pour le composant avec CLSID {} ​​

ici est un code où je l'ai trouvé .. erreur S'il vous plaît écrire réponse valable ... merci ..

 try 
     { 

      //Create the session Manager object 
      sessionManager = new QBSessionManager(); 

      //Create the message set request object to hold our request 
      IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest("US", 8, 0); 
      requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue; 

      //Connect to QuickBooks and begin a session 
      sessionManager.OpenConnection("App1", "QuickBooks"); 
      connectionOpen = true; 
      sessionManager.BeginSession(@"C:\Users\Public\Documents\Intuit\QuickBooks\Company Files\PSNew.QBW", ENOpenMode.omDontCare); 
      sessionBegun = true; 

      ICustomerAdd customerAddRq = requestMsgSet.AppendCustomerAddRq(); 
      customerAddRq.Name.SetValue(CP.CustomerName); 
      customerAddRq.LastName.SetValue(CP.CustomerLastName); 
      customerAddRq.Email.SetValue(CP.CustomerEmail); 

      //Send the request and get the response from QuickBooks 
      IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet); 
      IResponse response = responseMsgSet.ResponseList.GetAt(0); 
      ICustomerRet customerRet = (ICustomerRet)response.Detail; 

      CP.GetCustomerId = customerRet.ListID.GetValue(); 
      CP.GetCustomerName = customerRet.Name.GetValue(); 
      CP.GetCustomerEmail = customerRet.Email.GetValue(); 
      //CP.customerAddRq1 = customerAddRq.Name.GetValue(); 
     } 

     catch (Exception) 
     { 
      throw; 
     } 
     finally 
     { 
      //End the session and close the connection to QuickBooks 
      if (sessionBegun) 
      { 
       sessionManager.EndSession(); 
      } 

      if (connectionOpen) 
      { 
       sessionManager.CloseConnection(); 

      } 

Répondre

2

assurez-vous que votre application est compilée avec les configurations de construction de projet définies sur x86 pour la plate-forme cible. C'est la solution la plus courante sur le net étant donné que les DLL d'intégration Intuit sont en 32 bits. Cependant dans mon cas quand j'ai fait face à ce problème, j'ai décidé d'installer le SDK de QuickBooks à la machine de client et c'est quand j'ai réussi à le résoudre.

+0

merci de me suggérer .. j'utilise même dans anther pc j'ai trouvé la solution. mon être il était un problème de support d'OS .. il travaille sur la fenêtre 7 mais ne fonctionnant pas encore sur la fenêtre 8 ... – manu

Questions connexes