我一直在VS2010中开发一个应用程序,并将其编译为.NET 4.0作为目标框架.将库集成到我的应用程序后,我在尝试编译时收到以下错误消息:
混合模式程序集是针对运行时的版本"v1.1.4322"构建的,如果没有其他配置信息,则无法在4.0运行时中加载.
该库在.NET 3.5下工作正常,但是当我将目标框架更改为.NET 3.5时,我的所有.resx文件都出现以下错误:
错误1未将对象引用设置为对象的实例.
我试过ctrl-h Version = 4.0.0.0 to Version = 3.5.0.0但这似乎不起作用.有什么我可以做的其他创建一个新的应用程序?
使用XML编辑器而不是资源编辑器打开.resx文件,然后搜索System.Windows.Forms, Version=4.0.0.0.这个字符串应该有2个实例.更换4.0.0.0用2.0.0.0和保存文件.您的资源现在应该正常工作.
请注意,您还可以返回到.NET 4并尝试将以下内容添加到App.config中,以允许旧的程序集在新的运行时上运行:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)
您应该能够通过app.Config中的配置设置来完成这项工作.
只需在启动部分将useLegacyV2RuntimeActivationPolicy="true"标志添加到appConfig即可.这会导致.NET 4运行时处理旧的混合模式程序集.
| 归档时间: |
|
| 查看次数: |
12348 次 |
| 最近记录: |