.net 使同一应用程序与Net3.5兼容;4

.net 使同一应用程序与Net3.5兼容;4,.net,.net-4.0,properties,settings,.net,.net 4.0,Properties,Settings,我使用.NET3.5在C#中开发了一组应用程序作为单个项目。 该应用程序在装有NET4的PC上不工作,我添加并测试了所有功能是否在NET4上工作。将Net framework从3.5更改为4.0 在NET4中编译并生成了相同的应用程序,没有出现任何错误。应用程序在Properties.Settings中包含UserSettings。我在中将版本从2.0.0更改为4.0.0,现在应用程序开始执行 我的问题是:该代码与NET3.5和4.0兼容。但目前唯一的问题是appConfig中的版本值将与.NE

我使用.NET3.5在C#中开发了一组应用程序作为单个项目。 该应用程序在装有NET4的PC上不工作,我添加并测试了所有功能是否在NET4上工作。将Net framework从3.5更改为4.0

在NET4中编译并生成了相同的应用程序,没有出现任何错误。应用程序在Properties.Settings中包含UserSettings。我在中将版本从2.0.0更改为4.0.0,现在应用程序开始执行

我的问题是:该代码与NET3.5和4.0兼容。但目前唯一的问题是appConfig中的版本值将与.NET3.5和.NET4.0版本不同。不管怎样,我可以使用NET3.5和Net4的相同代码来处理上述情况,即版本标签的值? 我还可以补充一下吗

  <startup>
<!-- FOR .NET 3.0 & 3.5, 3.0.50727 CLR is only used -->

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<supportedRuntime version="v2.0" />  <!-- For Net 2.0, 3.0, 3.5 -->

要使应用程序在装有NET 4.0或3.5的PC上运行

感谢您的帮助和指导


谢谢

您应该基于v3.5而不是v4进行构建。然后,我希望您能够在只有4.0或3.5的机器上运行它,而根本不需要任何
app.config
文件,或者一个没有提到支持的运行时的文件。可以预期,在3.5上运行的大多数代码应该只能够在4.0上运行,而无需更改


(一个变化是关于混合模式程序集中的本机代码,IIRC-但除非您知道您包含了本机代码,否则我怀疑您是否会被它咬到。)

原始版本仅为3.5版本,不在4.0环境中执行。当我在app.config的configSections中将Version value的值从2.0.0.0更改为4.0.0.0时,迁移时,只有它开始显示。否则它在更新和保存属性中的值时会遇到问题。设置。@Tvd:“不执行”非常模糊。出了什么问题?你还想用什么方法来修复它?原始应用程序中是否有
supportedRuntime
元素?您是否尝试删除或添加它,而不是仅仅更改它?是的,当我迁移到4.0时,supportedElement被添加到它。最初,这是配置中的顶级子级,我将configSections设置为top,使其执行应用程序。刚才,我尝试将版本替换回2.0.0.0,它确实执行了。但是添加了supportedElement。仅供参考,目前我正在使用应用程序的NET4.0版本。我有3.5版本的应用程序verion,也是avbl。@Tvd:恐怕我没有注意到你的评论,但基本上你应该可以在.NET4上使用.NET3.5版本。。。我个人会删除所有与此相关的配置,让.NET自行解决。谢谢Jon。一旦我检查了net4.0中正常工作的功能,如果一切正常,我会按照你的建议去做。