1

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

1 に答える 1

0

答えてくれてありがとう。その問題を解決しました。でも、どうしてこうなったのかわからない。そのdll(IMANEXTLib)のembed interop typesプロパティをfalseに設定すると、正常に動作します。しかし、それを true に設定すると、機能しません。

于 2012-11-11T23:14:48.373 に答える