将通用配置从 csproj 移动到 Directory.Build.props

时间:2021-06-20 10:44:50

标签: .net .net-core msbuild csproj

目录结构:

Directory.Build.props
src/
  Directory.Build.props
  Project1/
test/
  Directory.Build.props
  Project1.Tests/
    Project1.Tests.csproj

/Directory.Build.props

<Project>
  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>
</Project>

/test/Project1.Tests/Directory.Build.props

<Project>
  <Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
  <Sdk Name="Microsoft.NET.Sdk" />
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
  </ItemGroup>
</Project>

Project1.Tests.csproj

<Project>
</Project>

这不起作用,并出现此错误:

<块引用>

src/test/Project1.Tests/Project1.Tests.csproj:错误 MSB4040:项目中没有目标。

当我更改 Project1.Tests.csproj 时它有效:

<Project>
  <Sdk Name="Microsoft.NET.Sdk" />
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
  </ItemGroup>
</Project>

如何将这些位保留在 Directory.Build.props 而不是 Project1.Tests.csproj 中?这是一个简单的例子,但我也有 Project2Project3 等 - 所以我想将通用配置放在一个地方。

0 个答案:

没有答案
相关问题