首页 > 解决方案 > 使用多个 TargetFrameworks 时的 OutputPath

问题描述

如何在新的 SDK csproj 项目样式中仅为单个目标框架指定输出路径。

我的项目文件有这个 PropertyGroup:

<PropertyGroup>
    <OutputType>WinExe</OutputType>
    <UseWPF>true</UseWPF>
</PropertyGroup>

我试图在该组上方添加类似的内容,但没有奏效:

<Choose>
    <When Condition=" '$(MyMsbuildParam)' == 'False' ">
        <PropertyGroup>
            <TargetFrameworks>net5.0-windows10.0.18362.0;net472</TargetFrameworks>
        </PropertyGroup>
    </When>
    <When Condition=" '$(MyMsbuildParam)' == 'True' ">
        <PropertyGroup>
            <TargetFrameworks>net472</TargetFrameworks>
            <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
            <OutputPath >..\bin64\$(Configuration)\</OutputPath>
        </PropertyGroup>
    </When>
</Choose>

这是我得到的错误:错误 MSB4044 “ResolvePackageAssets”任务没有为所需参数“TargetFramework”指定值。C:\Program Files\dotnet\sdk\5.0.201\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 241

标签: visual-studio-2019csproj

解决方案


推荐阅读