我有一个 .net core 2.2 API,解决方案的结构如下:
root
> src
solution.sln
> code
> Constants.csproj
> Models.csproj
> Mappers.csproj
> UnitTests
> UnitTestModels.csproj
> UnitTestMappers.csproj
在解决方案中 Models.csproj 有一个对 Constants.csproj 的项目引用,UnitTestModels.csproj 有一个对 Constants.csproj、Models.csproj 的项目引用。
我只想构建一个测试项目并单独验证代码覆盖率,我尝试从 repo 的根目录和每个文件夹中构建项目,如下所示:
dotnet build --no-restore --configuration Release src/Tests/UnitTestModels/UnitTestModels.csproj
<块引用>
src > 测试 > UnitTestModels
dotnet build --no-restore --configuration Release UnitTestModels.csproj
但是每次输出文件夹都包含Constants.dll、Models.dll和Mappers.dll
我尝试在 build.props 中添加以下内容:
<ItemDefinitionGroup>
<PackageReference>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<ProjectReference>
<PrivateAssets>all</PrivateAssets>
</ProjectReference>
</ItemDefinitionGroup>
但这并没有改变任何事情。
如何排除不直接引用单元测试项目的项目?