目录结构:
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
中?这是一个简单的例子,但我也有 Project2
、Project3
等 - 所以我想将通用配置放在一个地方。