繁体   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