在只安装了 .NET 2.0 的系统上崩溃之前,为 .NET 3.5 编译的软件能走多远?
我正在开发的应用程序使用 WPF 并且需要 .NET 3.5,但如果用户没有安装它,我想显示一个用户友好的对话框(而不是崩溃)。
是否有任何标准方法可以做到这一点,或者有官方的微软文档吗?
编辑:在理想的世界中,我只需检查安装过程中是否满足任何 .NET 依赖项。由于某些应用程序没有安装程序,并且由于用户可能会在安装应用程序后卸载 .NET,因此我发现下面的答案很有用。
在只安装了 .NET 2.0 的系统上崩溃之前,为 .NET 3.5 编译的软件能走多远?
我正在开发的应用程序使用 WPF 并且需要 .NET 3.5,但如果用户没有安装它,我想显示一个用户友好的对话框(而不是崩溃)。
是否有任何标准方法可以做到这一点,或者有官方的微软文档吗?
编辑:在理想的世界中,我只需检查安装过程中是否满足任何 .NET 依赖项。由于某些应用程序没有安装程序,并且由于用户可能会在安装应用程序后卸载 .NET,因此我发现下面的答案很有用。
它(可能)在尝试使用需要 3.5 的 dll 之前不会崩溃。如果执行的应用程序可以在使用任何 3.5 特定 dll 之前检查版本,您可以显示一个 winform 对话框,您应该没问题。您最安全的选择是使 exe 成为 2.0 程序集,并将所有 3.5 的东西放在一个单独的 dll 中,该 dll 针对 3.5 编译。您可以在加载任何 3.5 程序集之前检查 2.0 dll。
您是否考虑过使用 ClickOnce 部署?代理将检查并安装您指定的任何必备项,包括 .Net。它还使您的应用程序的升级变得相当轻松。
.NET 3.5 使用 .NET 2.0 运行时,因此应用程序可以正常启动(但是,当它尝试加载 3.5 程序集时会失败)。您可以检查Environment.Version以查看您正在运行的是否是 .NET 3.5,MessageBox.Show
如果不是,则向用户展示标准。