2012-11-09 54 views
1

我正嘗試使用iManage擴展庫(iManExt.dll)創建新文檔。它在我的本地機器正常工作。但是,當我將其部署到其他機器時,即使所有的dll都不起作用。我從桌面上得到以下錯誤使用C#創建新文檔時發生System.MissingMethodException錯誤VS2012

System.MissingMethodException: Method not found: 'System.Type 
System.Runtime.InteropServices.Marshal.GetTypeFrom CLSID(System.Guid)'. 

以下是我創建新文檔的c#代碼。

private IManage.IManDocument NewDocumentProfile(IManage.IManFolder aFolder, String aFileName) 
{ 
    IManage.IManDocument NewDocument; 

    IMANEXTLib.ImportCmd MyCommand = new IMANEXTLib.ImportCmd(); 
    IMANEXTLib.ContextItems MyContext = new IMANEXTLib.ContextItems(); 

    MyContext.Add("ParentWindow", Helper.GetActiveWindow()); 
    MyContext.Add("ImanDestinationObject", aFolder); 

    MyContext.Add("IManExt.Import.KeepCheckedOut", 0); 
    MyContext.Add("IManExt.Import.FileName", aFileName); 
    MyContext.Add("IManExt.CalledFromIntegration", false); 
    MyContext.Add("IManExt.OpenCmd.NoCmdUI", false); 

    MyCommand.Initialize(MyContext); 
    MyCommand.Update(); 

    if (MyCommand.Status == (int)IMANEXTLib.CommandStatus.nrActiveCommand) 
    { 
     MyCommand.Execute(); 
     NewDocument = MyContext.Item("ImportedDocument"); 
    } 
    else 
    { 
     NewDocument = null; 
    } 
    return NewDocument; 
} 
+0

聽起來像一個未安裝在目標機器上的COM組件 –

+0

是在部署機器上註冊的組件/ dll? – doiley

回答

0

感謝您的回答。我解決了這個問題。但是,我不知道爲什麼會發生。當我將該dll(IMANEXTLib)的interop types屬性設置爲false時,它工作正常。但是當我確定它是真的時,它不起作用。

相關問題