我有一个用.Net 3.5编写的桌面应用程序。我希望它能够在安装了.Net 3.5或更高版本的所有Windows版本上运行。但我不希望用户必须安装.Net,尤其是旧版本。
例如,如果用户在Windows 10上,则默认情况下会安装.Net 4.5。
是否有任何方法可以部署将使用.Net或更高版本的基准版本的应用程序。或者我是否必须制作单独的版本并将其提供给合适的用户?
答案 0 :(得分:2)
根据Version Compatibility in the .NET Framework
指南(强调我的):
默认情况下,应用程序在为其构建的.NET Framework版本上运行。如果该版本不存在且应用程序配置文件未定义支持的版本,则可能发生.NET Framework初始化错误。在这种情况下,运行应用程序的尝试将失败。 要定义运行应用的特定版本,请在应用的配置文件中添加一个或多个元素。每个元素都列出了一个受支持的运行时版本,第一个指定了最喜欢的版本,最后一个指定了最不喜欢的版本。
支持的运行时配置类似于:
<configuration>
<startup>
<supportedRuntime version="v4.0"/> <!--.NET 4.5 -->
<supportedRuntime version="v2.0.50727"/> <!-- .NET 3.5 -->
</startup>
</configuration>
任何针对.NET 3.5的内容都将与.NET 4 / 4.5运行时兼容(来自上面链接的同一篇文章):
.NET Framework 4.5及其版本向下兼容使用早期版本的.NET Framework构建的应用程序。换句话说,使用以前版本构建的应用程序和组件无需在.NET Framework 4.5上进行修改即可运行。
答案 1 :(得分:0)
赞赏Microsoft website。以3.5及更低版本编写和部署的应用程序将在.NET 4.5中运行而不会出现问题或需要安装3.5。您可能需要对该框架的其他版本进行更多调查。