【问题标题】:Does sku attribute in app.config determines against which framework the application is running?app.config 中的 sku 属性是否确定应用程序正在运行的框架?
【发布时间】:2021-05-18 14:34:38
【问题描述】:

我的机器上安装了多个框架。我有 .NET Framework 4.6.1 和 .NET Framework 4.8

如果我使用 .NET Framework 4.6.1 构建我的应用程序并希望针对 4.8 运行它。我该怎么做?

将在 App.config 文件中添加以下标签

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup>         
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/> 
    </startup>
</configuration>

确保应用程序是针对 4.8 运行的?即使 4.6.1 仍然在机器上退出。如果是这样,我如何确定我的应用程序是针对 4.8 运行的?

【问题讨论】:

  • 我只是用记事本打开csproj文件并检查。
  • .NET Framework 全局安装在 Windows 机器上。您只能安装一个版本。但是,您可以明确说明您开发和测试的版本,并且 .NET Framework 在给定版本中的任何兼容性行为都将适用于使其表现得就像旧版本一样。要查看实际运行的版本,请在运行时调用一个 API,该 API 将返回版本号并查看它报告的内容。
  • 但是 Windows 并没有阻止我安装多个 .NET 框架版本

标签: c# .net visual-studio


【解决方案1】:

如果您想用另一个 .net 框架版本运行应用程序,您可以尝试以下两种方法来修改您的 .net 框架版本。

首先,请右键单击您的项目属性->选择 .NET Framework 4.8-> 重建项目。

其次,请右键单击您的项目在文件资源管理器中打开文件夹->打开.csproj文件。

尝试改变:

<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>

<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>

保存.csproj文件后,visual studio会弹出提示框,请选择reload all,即可修改成功。

【讨论】:

  • 我不想重新编译应用程序,而是针对最新版本运行它。
  • @subbaraoc,您是想将您的框架更新到 4.8 还是只想知道您是否在 .net 框架 4.8 中运行?
  • 我想知道指定sku属性时是否使用.NET framework 4.8运行
  • @subbaraoc,我已经更新了我的答案以使用 c# 代码获取当前的目标框架。这是你想要的吗?
  • 谢谢。我试过了,但它仍然显示编译应用程序时使用的版本。如果我的问题不清楚,请告诉我。我有一个使用 .NET 框架 4.6 构建的应用程序,现在我想使用 .NET 框架 4.8 而不是 4.6 运行该应用程序,在这种情况下 sku 属性是否有帮助
猜你喜欢
  • 2018-12-13
  • 2021-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-31
  • 2011-02-06
相关资源
最近更新 更多