我正在使用Visual Studio 2012和.Net Framework 4.5 我有2个解决方案:1)WPF应用程序2)类库(dll)
类库包含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的项目中我尝试了它们都无济于事。供参考:
在该项目中,我的配置文件具有完全相同的标签,具有相同的值。
另外需要注意的是,在我的WPF应用程序中,一开始我收到的错误是它无法找到指定的dll(对于winforms控件),最后我将该控件的dll放在GAC中。 / p>
我已经尝试更改我的目标框架以获得所有可能性(4.5,4.0完全和客户端,3.5完整和客户端,3.0和2.0),在调试和发布中构建我的DLL并将“生成序列化程序集”设置为OFF,也将平台目标从Any CPU更改为x86和x64。我一次只尝试更改一个设置的值。
这是VS2012中的一个问题,或者我需要做些什么才能解决这个问题?
修改
错误列表中的设计时显示上述错误,设计人员显示错误“无法创建'my_class'的实例”
那个的内部异常说:“Set connectionId引发异常”,这个内部异常是标题消息。
这仍然允许构建解决方案,并且在运行应用程序时,我得到的基本相同,除了最里面的异常说:
“无法加载文件或程序集'SigPlusNET,Version = 1.1.3358.14336,Culture = neutral,PublicKeyToken = 6aef07010bb0624f'或其中一个依赖项。尝试加载格式不正确的程序。”
那个是winForms控件的程序集,在通过dotPeek检查时,它唯一依赖的是.NET Framework
答案 0 :(得分:4)
使用Bling for DirectX 10.0,(在CodePlex上使用Bling UI Toolkit)。我收到了错误,最终我在这个页面上寻找解决方案,D3D10.example中的app.config文件包含支持的运行时,版本= 4行。但它不包含版本= 2 .net行的后续行,使用app.config作为:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>
解决了问题,一旦将配置文件修改为显示的代码,所有示例都在VS2012中运行。
我不知道这篇文章是否要迟到才能得到答案,我本月刚刚开始在Windows 7和VS2012上进行图形项目,配置更改解决了我的问题。
答案 1 :(得分:2)
这可能是因为你在这一行有4.0合1,另一个是4.5:
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
尝试:
<supportedRuntime version="v4.5" sku=".NETFramework,Version=v4.5" />
或
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
答案 2 :(得分:2)
我的方法有点不同。该错误清楚地标识了.NET 4.0中包含的某些.NET 2.0.50727组件 在App.config文件中,而不是使用此:
<startup useLegacyV2RuntimeActivationPolicy="true">
它解决了我的问题