2010-07-05 213 views
10

我一直在VS2010中开发一个应用程序,并将它编译为.NET 4.0作为目标框架。库集成到我的应用程序后,我收到以下错误消息时我尝试编译:将应用程序从.net 4.0降级到3.5

混合模式组件对运行时的版本“V1.1.4322”建成并不能在4.0运行时无需加载额外的配置信息。

库下面的.NET 3.5的正常工作,但是当我改变我的目标框架.NET 3.5,我得到以下为我所有.resx文件错误:

错误1个未将对象引用设置为一个对象的实例。

我试过ctrl-h版本= 4.0.0.0到版本= 3.5.0.0,但似乎没有工作。有什么我可以做的其他创建一个新的应用程序?

回答

5

您应该可以通过app.Config中的配置设置进行此项工作。

只需将useLegacyV2RuntimeActivationPolicy="true"标志添加到您的appConfig in the startup section即可。这会导致.NET 4运行时处理较旧的混合模式程序集。

8

使用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> 
2

项目打开属性。然后选择资源。删除所有资源图像并再次插入它们。现在编译它。你的项目现在正在工作.. :)

相关问题