先前附加到AssemblyResolve

时间:2017-07-20 10:51:50

标签: c# .net-assembly assemblyresolve

考虑Severity Code Description Project File Line Suppression State Error C3145 'form': global or static variable may not have managed type 'CppWinForm1::MyForm' CppWinForm1 Error (active) a variable with static storage duration cannot have a ref class type CppWinForm1 类中的以下代码:

Program

对于这个应用程序,我们需要将程序集static EmbeddedClass MyClass; static Program() { AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; } static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) { //Load EmbeddedClass here } 置于应用程序内部,而不是作为dll与它一起。因此加载我们需要使用EmbeddedClass的组件。

但是,上面的代码不起作用,因为在运行它时会给出:

  

mscorlib.dll中发生未处理的“System.TypeInitializationException”类型异常

     

附加信息:“程序”的类型初始化程序引发了异常。

我相信这是因为它试图在运行静态构造函数之前加载AssemblyResolve的程序集。

有没有解决这种情况?

0 个答案:

没有答案