9

在只安装了 .NET 2.0 的系统上崩溃之前,为 .NET 3.5 编译的软件能走多远?

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

是否有任何标准方法可以做到这一点,或者有官方的微软文档吗?


编辑:在理想的世界中,我只需检查安装过程中是否满足任何 .NET 依赖项。由于某些应用程序没有安装程序,并且由于用户可能会在安装应用程序后卸载 .NET,因此我发现下面的答案很有用。

4

3 回答 3

6

它(可能)在尝试使用需要 3.5 的 dll 之前不会崩溃。如果执行的应用程序可以在使用任何 3.5 特定 dll 之前检查版本,您可以显示一个 winform 对话框,您应该没问题。您最安全的选择是使 exe 成为 2.0 程序集,并将所有 3.5 的东西放在一个单独的 dll 中,该 dll 针对 3.5 编译。您可以在加载任何 3.5 程序集之前检查 2.0 dll。

于 2009-10-05T14:46:04.747 回答
3

您是否考虑过使用 ClickOnce 部署?代理将检查并安装您指定的任何必备项,包括 .Net。它还使您的应用程序的升级变得相当轻松。

于 2009-10-05T15:19:50.587 回答
3

.NET 3.5 使用 .NET 2.0 运行时,因此应用程序可以正常启动(但是,当它尝试加载 3.5 程序集时会失败)。您可以检查Environment.Version以查看您正在运行的是否是 .NET 3.5,MessageBox.Show如果不是,则向用户展示标准。

于 2009-10-05T14:47:28.640 回答