【发布时间】:2018-02-02 03:31:03
【问题描述】:
我有一个 .NET Framework 4.6 WPF 应用程序。问题是,如果我在 .NET Framework the application has stopped working。
如果未安装所需的 .NET 版本,是否有办法阻止应用程序启动,而是显示一条更有意义的消息,说明 the application requires a certain .NET version to run?
我的 app.config 文件:
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
</startup>
</configuration>
sku 属性似乎被忽略,Windows 尝试使用用户计算机上的最新版本 .NET Framework 启动应用程序。
应用程序部署为没有安装程序的单个文件应用程序,因此我无法创建单独的引导程序应用程序来检查 .NET 版本。
【问题讨论】:
-
通常此检查由应用程序的安装程序完成
-
您没有使用安装程序有什么原因吗?我觉得这将是迄今为止最简单的方法。
-
是的,由于客户要求,该应用程序没有也不能有安装程序。
-
那么您可能需要创建第二个启动程序或其他东西。显然,如果您的主程序甚至没有启动,那么它对您没有用处。但即便如此,您的客户也可能只是继续尝试直接启动主应用程序。
-
那么我真的不知道除了 a) 帮助他们安装正确的 .NET 版本或 b) 在他们的框架版本下编译程序之外你还能做什么已安装。如果其中任何一个都不可行,那么您的客户就是在自取其辱......