我正在使用Visual Studio 2012和.NET Framework 4.5。我有两个解决方案:1)WPF应用程序2)类库(dll)。
类库中包含3个按钮和一个控件,必须放在WindosFormsHost控件内,因为它是为WinForms制作的。
除了.NET Framework之外,唯一引用的程序集是上述winforms控件和iTextSharp。
这个winforms控件似乎有点老,当我将引用放入我的dll中时,我得到了与标题相同的错误,但按照其他SO问题/答案的方法,在我的配置文件中添加了以下内容:
另外需要注意的是,在我的WPF应用程序中,一开始我遇到了一个错误,关于无法找到指定的dll(针对winforms控件),最终我将该控件的dll放入GAC中。
我尝试更改所有可能的目标框架(4.5、4.0完整版和客户端版本、3.5完整版和客户端版本、3.0和2.0),以及在调试和发布模式下构建我的DLL,并将“生成序列化程序集”设置为OFF,还将平台目标从任意CPU更改为x86和x64。我只尝试更改一个设置的值。
这是VS2012中的问题吗?或者我需要做什么来解决这个问题?
编辑:
上述错误显示在错误列表中的设计时间,设计器显示错误,说“无法创建'my_class'的实例”。
其中的内部异常说:“设置connectionId引发了异常”,而这个内部异常是标题消息。
这仍然允许解决方案被构建,在运行应用程序时,我基本上得到相同的结果,除了最内层的异常会说:
"无法加载文件或程序集'SigPlusNET,版本=1.1.3358.14336,文化=中立,PublicKeyToken=6aef07010bb0624f'或其某个依赖项。尝试加载格式不正确的程序。" 这是winForms控件的程序集,在通过dotPeek进行检查后,它唯一的依赖关系是.NET Framework的依赖项。
类库中包含3个按钮和一个控件,必须放在WindosFormsHost控件内,因为它是为WinForms制作的。
除了.NET Framework之外,唯一引用的程序集是上述winforms控件和iTextSharp。
这个winforms控件似乎有点老,当我将引用放入我的dll中时,我得到了与标题相同的错误,但按照其他SO问题/答案的方法,在我的配置文件中添加了以下内容:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
错误:
混合模式程序集是针对“v2.0.50727”版本的运行时构建的,如果没有额外的配置信息,则无法在4.0运行时加载
正如我所提到的,我曾看到有人发布此问题,并且他们解决了我的DLL项目中的问题,但在使用该DLL的项目中,我已尝试了所有方法,但都无济于事。供参考:
- 需要在.NET 4.0项目中引用.NET 2.0混合模式程序集,还需要进行哪些“附加配置”?
- 混合模式程序集是针对运行时版本“v2.0.50727”构建的
- 在.NET 4配置中,“useLegacyV2RuntimeActivationPolicy”是做什么用的?
- 混合模式程序集是针对运行时版本“v2.0.50727”构建的,无法在4.0运行时中加载
- 混合模式程序集是针对版本X构建的,在没有额外的配置信息的情况下无法在版本Y的运行时中加载
另外需要注意的是,在我的WPF应用程序中,一开始我遇到了一个错误,关于无法找到指定的dll(针对winforms控件),最终我将该控件的dll放入GAC中。
我尝试更改所有可能的目标框架(4.5、4.0完整版和客户端版本、3.5完整版和客户端版本、3.0和2.0),以及在调试和发布模式下构建我的DLL,并将“生成序列化程序集”设置为OFF,还将平台目标从任意CPU更改为x86和x64。我只尝试更改一个设置的值。
这是VS2012中的问题吗?或者我需要做什么来解决这个问题?
编辑:
上述错误显示在错误列表中的设计时间,设计器显示错误,说“无法创建'my_class'的实例”。
其中的内部异常说:“设置connectionId引发了异常”,而这个内部异常是标题消息。
这仍然允许解决方案被构建,在运行应用程序时,我基本上得到相同的结果,除了最内层的异常会说:
"无法加载文件或程序集'SigPlusNET,版本=1.1.3358.14336,文化=中立,PublicKeyToken=6aef07010bb0624f'或其某个依赖项。尝试加载格式不正确的程序。" 这是winForms控件的程序集,在通过dotPeek进行检查后,它唯一的依赖关系是.NET Framework的依赖项。