使用C#VS2012创建新文档时出现System.MissingMethodException错误

时间:2012-11-09 03:33:22

标签: c# visual-studio-2012 imanage

我正在尝试使用iManage扩展库(iManExt.dll)创建新文档。它适用于我当地的机器。但是,当我将其部署到其他机器时,即使所有dll都在那里,它也不起作用。我收到来自desksite的错误信息

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;
}

1 个答案:

答案 0 :(得分:0)

感谢您的回答。我解决了这个问题。但是,我不知道为什么会这样。当我将该dll(IMANEXTLib)的embop interop属性设置为false时,它可以正常工作。但是,当我将其设置为true时,它不起作用。