次のような msbuild コードがあります。
<Target Name="Build">
<MSBuild
Projects="@(UnitTestProject)"
Properties="$(BuildProperties)">
<Output TaskParameter="TargetOutputs" ItemName="TestAssembly" />
</MSBuild>
</Target>
<Target Name="Test" DependsOnTargets="Build">
<ItemGroup>
<TestAssembly Remove="*.Example.dll" />
</ItemGroup>
<xunit Assemblies="@(TestAssembly)" />
</Target>
そのため、すべての単体テスト プロジェクトをビルドし、TargetOutputs パラメーターの Output タスクを使用して、ビルドされた dll をキャプチャしています。問題は、プロジェクトの 1 つが、実際に xunit を実行したくない dll を出力するタスクを呼び出していることです。
奇妙なのは、Remove="*.Example.dll"
がまったく影響を与えていないように見え、xunit がとにかくアセンブリをテストしようとしているということです。
なぜ機能しないのRemove
ですか?