崩溃,只有具有.NET 2.0的系统上之前

多远沿着它编译为.NET 3.5软件得到安装?

我开发的应用程序使用WPF和需要.NET 3.5,但我想显示一个用户友好的对话(而不是崩溃),如果用户没有安装它。

有没有标准的方式来做到这一点,还是微软官方文档上呢?


修改:在一个理想的世界,我只希望检查任何.NET依赖关系是在安装过程中得到满足。由于一些应用程序没有安装并且由于用户安装该应用程序后可能会卸载.NET,我找到答案下面是有用的。

有帮助吗?

解决方案

有(可能)不会崩溃,直到它尝试使用需要3.5的DLL。如果执行的应用程序可以使用任何特定的3.5之前的DLL检查版本,则可以显示一个winform对话框,你应该确定。你最安全的赌注将是使该exe是2.0装配,使你的所有东西,3.5的是对3.5编译一个单独的DLL。你可以做你的支票在2.0 DLL加载任何你3.5组件之前。

其他提示

NET 3.5使用.NET 2.0运行,所以一个应用程序将开始完全正常(然而,它的失败时,它会尝试加载3.5组件)。您可以查看 Environment.Version 来看看它的.NET 3.5你正在运行上,并与标准MessageBox.Show如果不存在用户。

你有没有考虑使用ClickOnce部署?代理会检查并安装你指定的任何先决条件的项目,包括.NET。这也使得推你的应用程序的升级相当容易。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top