我们在.net framework 3.5上构建了WPF应用程序 .
一些测试人员发现他们是否卸载了.net framework 3.5,但安装了.net framework 4.0,我们的APP无法自行启动 .
这意味着.net框架4.0不包括所有3.5个库,用户必须安装.net 3.5,即使它们有4.0?
我在这里看到Microsoft列出的一些迁移问题http://msdn.microsoft.com/en-us/library/ee941656.aspx#windows_presentation_foundation_wpf
它们都是破坏性的变化,以至于后向兼容性被破坏了吗?
谢谢
3 回答
.Net 3.5 / 2.0应用程序 not 自动在.Net 4.0运行时运行 . 您必须明确为您的应用程序指定它应该在您的App.config中运行.Net 4.0,方法是添加:
如果您有第三方组件,您还必须将它们标记为准备好4.0:
不同的版本并排运行,所以是的,即使他们已经安装了4.0,他们也需要安装3.5 . 但它们不会互相干扰,所以你的程序将继续使用3.5,除非你把它重新编译到目标4.0(或配置它使用4.0 - 见下面的编辑) .
正如在this question中指出的那样,microsoft对此有some guidance:
您可以将.NET 3.5和.NET 4.0彼此并排安装 . Visual Studio 2010还包括针对.NET 3.5的改进的目标支持 . ScottGu's blog更详细地讨论了这一点 .
编辑:正如已经指出的,你可以修改你的应用程序的配置,告诉它如果你想要使用4.0运行时 . 根据您应用程序使用的框架的位数,这可能会也可能不会正常 . 最安全的是安装3.5,但并不是绝对必要,尽管你必须对配置进行更改才能使其正常工作 .
谢谢大家,谢谢Foxfire,你的方法有效 .
我想分享一个棘手的问题是节点的顺序 .
当我在下面设置它时,它适用于3.5和4.0 .
如果我改变顺序,APP将在OS上崩溃只安装4.0 .