2017-01-11 102 views
-1

我一直在尋找解決我的問題的過去兩天。現在Google只顯示我已經訪問過的鏈接。System.Runtime.InteropServices.COMException 0x80040154與CLSID 29131539-2EED-1069-BF5D-00DD011186B7

我得到以下錯誤:

[COMException (0x80040154): La récupération de la fabrique de classes COM pour le composant avec le CLSID {29131539-2EED-1069-BF5D-00DD011186B7} a échoué en raison de l'erreur suivante : 80040154 Classe non enregistrée (Exception de HRESULT : 0x80040154 (REGDB_E_CLASSNOTREG)).] 
    Default2.initSession() in c:\inetpub\wwwroot\GestionDomino\Default.aspx.cs:45 
    Default2.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\GestionDomino\Default.aspx.cs:32 
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51 
    System.Web.UI.Control.OnLoad(EventArgs e) +92 
    System.Web.UI.Control.LoadRecursive() +54 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772 

我知道的是,在法國的堆棧跟蹤的某一部分。這是因爲執行此代碼的服務器是法語服務器。

這裏是我的代碼:

public partial class Default2 : System.Web.UI.Page 
    { 
     Domino.NotesSession lotusNoteSession; 
     Domino.NotesDatabase localDatabase; 
     Domino.NotesView specificView; 

     protected void Page_Load(object sender, EventArgs e) 
     { 

      //authentifies the user 
      checkAuthen(); 
      //opens the domino session 
      initSession(); 
      //fill the gridview 
      if (!IsPostBack) 
      { 
       FillgvVue(); 
      } 
     } 

     protected void initSession() 
     { 
      //opens the domino session 
      lotusNoteSession = new Domino.NotesSession(); 

和代碼繼續。但我停止複製它在問題行 lotusNoteSession = new Domino.NotesSession()。這條線觸發錯誤。

我試着用regsvr32.exe的

目標CPU註冊Interop.Domino.dll已被設置爲86

我有什麼做的?

在此先感謝


+0

如果您不知道;你有張明確的密碼。您可能需要刪除它並請求修訂清理,以便永久不可用。 – BradleyDotNET

+0

@BradleyDotNET _「request revision scrubbing」_ - 我不認爲這經常發生。至少如果這取決於我,我會以「運氣不好,更改密碼」作爲迴應。特別是因爲谷歌在幾秒鐘內索引這個網站。 – CodeCaster

+0

@CodeCaster真的,但IIRC有一些元帖子表明他們會這樣做的東西。更改密碼仍然是一個好主意。 – BradleyDotNET

回答

1

您需要正確註冊nlsxbe.dll了。我非常肯定,我之前在StackOverflow上看過這篇文章,但我現在沒有找到它們。

但是,根據此IBM Technote,64位操作系統上不支持位於Interop.Domino.dll後面的nlsxbe.dlll中的Notes COM類。他們可以完成大部分工作,但是如果您需要一個解決方案,並且您可以依靠能夠在出現問題時能夠到IBM尋求支持,那麼您應該查看可用於Notes/Domino環境的其他API,以及避免COM,或找到一種方法在32位操作系統上運行它們。至於「主要」部分,我記得的問題是返回設計元素集合(例如NotesDatabase.Views())的方法。大多數類和方法確實可以工作 - 包括那些返回單個元素的類(例如,getView())。但是,對於64位的這些類,沒有官方支持,所以如果遇到其他任何問題,您將自行處理。

相關問題