Windows 和 WSL2 启动配置文件(在 launchSettings.json 中)和多目标控制台应用程序(.net472 和 .net9.0)

问题描述 投票:0回答:1

我有一个 .NET 9.0 控制台应用程序,是在 Windows 上使用 Visual Studio 2022 构建的,它有 2 个启动配置文件(Win 和 WSL2):

{
  "profiles": {
    "Windows": {
      "commandName": "Project"
    },
    "WSL2": {
      "commandName": "WSL2",
      "distributionName": ""
    }
  }
}

我添加了 .NET Framework 4.7.2 目标 (

<TargetFrameworks>net9.0;net472</TargetFrameworks>
),现在“播放”按钮如下所示: enter image description here

有没有办法只为 .net90 目标提供两个启动配置文件(因为 .net472 只能在 Windows 上运行)。是否有一些 .csproj 标志?谢谢你。

c# visual-studio .net-core msbuild visual-studio-2022
1个回答
0
投票

有没有办法只为 .net90 目标提供两个启动配置文件(因为 .net472 只能在 Windows 上运行)

恐怕不是。从launchSettings.json来看,似乎没有像

Framework
这样的参数来指定此启动配置文件适用于哪个版本的框架。

但是作为一种解决方法,您可以在基于当前平台的构建中使 TFM 有条件。 将以下内容添加到您的

.csproj
文件中:

<PropertyGroup Condition=" '$(OS)' != 'Windows_NT' ">
  <TargetFramework>net9.0</TargetFramework> 
</PropertyGroup>
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT' ">
   <TargetFrameworks>net9.0;net472</TargetFrameworks>
</PropertyGroup>
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.