以编程方式检查.NET Framework版本 - 我应该吗?

Jan*_*Jan 6 .net c# .net-framework-version

我有任务扩展现有的WinForm应用程序以检查天气是否安装了所需的.NET Framework(fx.3.5).

问题是 - 如果没有安装.NET Framework,winform程序根本无法运行......我假设.

我可以(也许)像这里建议的那样:(并制作一个应首先启动的c ++程序,进行检查,然后启动应用程序)从WinForms应用程序 检查.Net框架版本 但我宁愿不进入c ++.

另一种方式似乎是这个解决方案: 当没有正确的.NET框架版本时,为什么不抛出异常? ...在app.config中配置应用程序的位置.但我怀疑如果没有安装.NET框架,这将会有效.

<startup>
    <supportedRuntime version="v3.5" />
</startup>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是这个领域的最佳实践什么?我应该以某种方式进行检查,还是应该将其作为先决条件,即fx.是否需要.NET Framework 3.5版?

Kas*_*ols 0

如果您经常为有限的用户组进行部署,则应该查看 ClickOnce ( http://msdn.microsoft.com/en-us/library/t71a733d(v=vs.80).ASPX )

它有点像Windows Installer,但简化了很多。从用户的角度来看,应用程序看起来像桌面图标。当您单击该图标时,它将自动检查所有要求并安装最新版本的软件(如果已更新)。这样您可以确保用户始终安装所需的框架,并且用户始终使用最新版本。

  • 值得一提的是,这需要用户有可用的互联网连接。 (3认同)