【问题标题】:Require .NET 4.0 for .NET 4.5 app.NET 4.5 应用需要 .NET 4.0
【发布时间】:2012-11-07 18:11:14
【问题描述】:

这是一个两部分的问题。我需要解决这两个部分以获得完整的答案。

第一部分

我有一个 .NET 4.5 桌面应用程序,我想知道是否可以将其部署到 Windows XP,如果在应用程序的 Installshield 项目的“要求”中,我勾选了“.NET 4.0 Full Package is Installed”复选框而不是“.NET 4.5 Full Package is Installed”之一。

我读到here

您可以为 .NET 4.5 编译应用程序并在 4.0 运行时运行它——直到您遇到 4.0 中不存在的新功能。此时应用程序会在运行时爆炸。假设您编写了一些主要是 .NET 4.0 的代码,但只有一些 .NET 4.5 的新功能,例如 aync/await 深埋在应用程序的内部,它只是偶尔触发。 .NET 将愉快地启动您的应用程序并正常运行所有 4.0 代码,直到它遇到 4.5 代码 - 然后在运行时毫不客气地崩溃。

所以我知道我的应用程序在带有 .NET 4.0 的 Windows XP 上运行的能力取决于什么。对于这个问题,我们假设我的应用不会像上面引用的那样崩溃。

第二部分

我还需要知道在使用 .NET 4.5 而不是 .NET 4.0 的机器上安装应用程序时,选择“.NET 4.0 Full Package is Installed”而不是“.NET 4.5 Full Package is Installed”会有什么影响, 安装。 Installshield 安装程序会将已安装的 .NET 4.5 包视为 .NET 4.0 并因此不会抱怨吗?还是会因为没有安装 .NET 4.0 而变得挑剔并阻止应用程序的安装?

【问题讨论】:

    标签: .net-4.0 installshield .net-4.5


    【解决方案1】:

    您需要做的第一件事是将项目的 Target Framework 版本从 4.5 更改为 4.0 并重新构建。如果您使用任何 4.5 特定功能,那么您现在会发现。您需要修复错误。

    第 2 部分没有问题,.NET 4.5 是 .NET 4.0 的替代品。安装程序不会先卸载 4.5,因此它可以安装 4.0,这会破坏该计算机上所有现有的 .NET 应用程序。

    【讨论】:

    • 关于第 1 部分,除了无法访问新的 4.5 功能之外,定位 4.0 是否有任何缺点?关于第 2 部分,我已经知道 4.5 取代了 4.0。但我的问题是:Installshield 知道吗?
    • 1:没有。 2:Installshield 必须知道这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 2013-09-14
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多