C# Microsoft.NET.Sdk项目:在csproj评估之后,但在Sdk.targets评估之前,在Directory.build.something中设置属性

C# Microsoft.NET.Sdk项目:在csproj评估之后,但在Sdk.targets评估之前,在Directory.build.something中设置属性,c#,.net-core,msbuild,csproj,dotnet-sdk,C#,.net Core,Msbuild,Csproj,Dotnet Sdk,我想为解决方案中的项目自动设置OutputPath,但允许其中一些项目选择退出 例如: 项目A net5.0 项目B <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net5.0</TargetFramework> <UseCommonOutputPath>false</UseCom

我想为解决方案中的项目自动设置
OutputPath
,但允许其中一些项目选择退出

例如:
项目A


net5.0
项目B

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>net5.0</TargetFramework>
        <UseCommonOutputPath>false</UseCommonOutputPath>
    </PropertyGroup>
</Project>

net5.0
假的
Directory.build.props
的问题是它太早了(在csproj之前,所以我不能检查是否退出),但是
Directory.build.targets
太晚了(在
Sdk.targets
之后,它将旧值传播到许多其他属性OutDir、TargetDir、PublishDir和许多其他属性)。 是否有一种方法可以实现这一点,而不必在每个项目结束时都有
Import
指令

对于其他情况,我也有这样的一般需求(如问题标题中所述),但是对于
OutputPath
来说,一些特定的东西也不错

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>net5.0</TargetFramework>
        <UseCommonOutputPath>false</UseCommonOutputPath>
    </PropertyGroup>
</Project>