【问题标题】:How to force WPF app for .NET Framework 3.5 use newer L&F?如何强制 .NET Framework 3.5 的 WPF 应用程序使用更新的 L&F?
【发布时间】:2018-08-21 14:56:30
【问题描述】:

我正在考虑使用 WPF 制作一个简单的自包含 .NET 应用程序,该应用程序可以在任何现代 Windows 系统上运行,而无需最终用户手动下载和安装 .NET Framework。

据我所知,用户只需单击 .exe 并等待一段时间,直到安装所需的库。

但是为 3.5 编译的应用程序在最新的 Windows 上使用旧的 L&F。

有什么方法可以让应用看起来像这样:

并且不是这样(如果用户已经拥有.NET Framework 4+):

【问题讨论】:

  • 你试过adding a manifest file吗?确保你有 SupportedOS 部分。
  • @ScottChamberlain 我做了Jim's answer 的“添加支持的操作系统”部分中的操作,但这没有效果。

标签: c# wpf .net-3.5


【解决方案1】:

最后我想出了简单的解决方案。我的假设是错误的,看来 .NET Framework 实际上使用的是当前运行版本的 L&F,而不是目标版本。

  1. 创建App.config(项目 -> 添加 -> 新项目... -> 应用配置 (.config))
  2. 粘贴以下内容:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <startup>
        <!-- Use 4.0 -->
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
        <!-- Use 2.0 - 3.5 -->
        <supportedRuntime version="v2.0.50727" />
      </startup>
    </configuration>
    

.NET Framework 将扫描&lt;supportedRuntime&gt;,直到找到可用为止。支持的运行时列表可以在here找到。

【讨论】:

    猜你喜欢
    • 2011-04-26
    • 1970-01-01
    • 2018-10-05
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多