【问题标题】:Deploy .Net 3.5/4.5 Desktop App部署 .Net 3.5/4.5 桌面应用程序
【发布时间】:2015-09-18 22:38:20
【问题描述】:

我有一个用 .Net 3.5 编写的桌面应用程序。我希望它能够在安装了 .Net 3.5 或更高版本的所有 Windows 版本上运行。但我不希望用户必须安装 .Net,尤其是旧版本。

例如,如果用户使用的是 Windows 10,他们将默认安装 .Net 4.5。

是否有任何方法可以部署将使用 .Net 或更高版本的基线版本的应用程序。还是我必须进行单独的构建并将它们提供给正确的用户?

【问题讨论】:

标签: c# .net windows


【解决方案1】:

根据Version Compatibility in the .NET Framework 指南(强调我的):

默认情况下,应用在为其构建的 .NET Framework 版本上运行。如果该版本不存在并且应用配置文件未定义支持的版本,则可能会出现 .NET Framework 初始化错误。在这种情况下,尝试运行应用程序将失败。 要定义运行应用的特定版本,请将一个或多个元素添加到应用的配置文件中。每个元素都列出了一个支持的运行时版本,第一个指定最喜欢的版本,最后一个指定最不喜欢的版本。

支持的运行时配置类似于:

<configuration>
   <startup>
      <supportedRuntime version="v4.0"/> <!--.NET 4.5 -->
      <supportedRuntime version="v2.0.50727"/> <!-- .NET 3.5 -->
    </startup>
</configuration>

任何以 .NET 3.5 为目标的东西都将与 .NET 4/4.5 运行时兼容(来自上面链接的同一篇文章):

.NET Framework 4.5 及其单点版本与使用早期版本的 .NET Framework 构建的应用向后兼容。换言之,使用先前版本构建的应用程序和组件无需修改即可在 .NET Framework 4.5 上运行。

【讨论】:

    【解决方案2】:

    喜欢Microsoft website。在 3.5 及更低版本中编写和部署的应用程序将在 .NET 4.5 中运行而不会出现问题或需要安装 3.5。您可能需要对框架的其他版本进行更多调查。

    【讨论】:

    • “在 3.5 及更低版本中编写和 [d] 部署的应用程序将在 .NET 4.5 中运行而不会出现问题”,这并不是您链接的那篇文章所说的,特别是这部分: “但是,默认情况下,应用程序在为其开发的公共语言运行时版本上运行,因此您可能必须提供配置文件以使您的应用程序能够在 .NET Framework 4.5 上运行。”。可能存在问题,因为多目标需要在开发过程中进行深思熟虑。
    猜你喜欢
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 2023-04-01
    • 2018-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多