将应用程序从.net 4.0降级到3.5

Ser*_*rge 10 .net c#

我一直在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但这似乎不起作用.有什么我可以做的其他创建一个新的应用程序?

Jul*_*ain 8

使用XML编辑器而不是资源编辑器打开.resx文件,然后搜索System.Windows.Forms, Version=4.0.0.0.这个字符串应该有2个实例.更换4.0.0.02.0.0.0和保存文件.您的资源现在应该正常工作.

请注意,您还可以返回到.NET 4并尝试将以下内容添加到App.config中,以允许旧的程序集在新的运行时上运行:

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)


Ree*_*sey 5

您应该能够通过app.Config中的配置设置来完成这项工作.

只需在启动部分useLegacyV2RuntimeActivationPolicy="true"标志添加到appConfig即可.这会导致.NET 4运行时处理旧的混合模式程序集.