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

我的问题是如何更改匹配模式以仅选择单元测试(具有测试、测试、单元测试或单元测试命名约定)但不选择框架 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 回答