簡體   English   中英

Activator.CreateInstance 上的 MissingMethodException

[英]MissingMethodException on Activator.CreateInstance

我正在嘗試創建一個外國 DLL 的實例。 不幸的是,我收到錯誤消息“MissingMethodException”。 命令 Activator.CreateInstance 會產生此錯誤。
創作:

Assembly lAssembly = 
    Assembly.Load(File.ReadAllBytes(@"C:\Siemens.Engineering.dll"));
Type lType = lAssembly.GetType("Siemens.Engineering.TiaPortal", true, true);

return (dynamic)Activator.CreateInstance(type: lType, 
            args: new object[] { 
                    Siemens.Engineering.TiaPortalMode.WithoutUserInterface 
                  });

dll(簡稱)的定義:

namespace Siemens.Engineering {
    //
    // Zusammenfassung:
    //     TIAPortal.
    [DebuggerNonUserCode]
    [SecuritySafeCritical]
    public sealed class TiaPortal : IApplicationEntryPoint,
                                    IInternalApplicationAccess,
                                    IInternalObjectAccess,
                                    IInternalInstanceAccess,
                                    IInternalBaseAccess,
                                    IEngineeringRoot,
                                    IEngineeringObject,
                                    IEngineeringCompositionOrObject,
                                    IEngineeringInstance, 
                                    IEngineeringServiceProvider,
                                    IServiceProvider,
                                    IEquatable<object>,
                                    IDisposable 
    {
        //
        // Zusammenfassung:
        //     Initializes a new instance of the 
        // Siemens.Engineering.TiaPortal class.
        //
        // Parameter:
        //   tiaPortalMode:
        //     TIA-Portal will start in this mode.
        [SecuritySafeCritical]
        public TiaPortal(TiaPortalMode tiaPortalMode = 
                          TiaPortalMode.WithoutUserInterface);
    }
}

我不知道我在打這個電話時做錯了什么。 由於構造函數有一個可選參數,它應該可以帶參數和不帶參數調用。 但是兩種變體都會產生相同的錯誤。 可以正確加載程序集 (lAssembly) 以及類型 (lType)。

有什么建議嗎?

我發現了問題。 尋址的 DLL 正在尋找硬編碼路徑。 如果這不存在,則無法實例化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM