2

単体テストアセンブリに一致するCreateItemタスクがあります。

<CreateItem Include="%(Solution.RelativeDir)**\bin\$(Configuration)\*Test*.dll">
    <Output ItemName="TestDlls" TaskParameter="Include"/>
</CreateItem>

この一致するdllは次のようになります:

  • Company.Product.Component1.Test.dll
  • Company.Product.Component2.UnitTests.dll
  • Company.Product.UnitTestFramework1.dll
  • Company.Product.UnitTestFramework2.dll

私の質問は、一致パターンを変更して、単体テスト(Test、Tests、UnitTest、またはUnitTestsの命名規則がある)のみを選択し、フレームワークdllを選択しないようにする方法です。

4

1 に答える 1

1

Test.dllとTests.dllを段階的に追加するだけです。以下はあなたが望むことをするでしょう:

<CreateItem Include="%(Solution.RelativeDir)**\bin\$(Configuration)\*Test.dll">
    <Output ItemName="TestDlls" TaskParameter="Include"/>
</CreateItem> 
<CreateItem Include="%(Solution.RelativeDir)**\bin\$(Configuration)\*Tests.dll">
    <Output ItemName="TestDlls" TaskParameter="Include"/>
</CreateItem> 

または、元のアイテム定義を使用して追加し、その後、フレームワークパターンに一致するファイルを削除することもできます。例えば:

<CreateItem Include="%(Solution.RelativeDir)**\bin\$(Configuration)\*Test*.dll">
    <Output ItemName="TestDlls" TaskParameter="Include"/>
</CreateItem> 
<CreateItem Remove="*Framework*.dll" />
于 2012-08-10T12:45:47.517 に答える