Я должен создать несколько/testcontainer: параметры для питания в задачу, что MsTest должностного лица.
У меня есть следующее:
<ItemGroup>
<TestFiles Include="$(ProjectPath)\**\UnitTest.*.dll" />
</ItemGroup>
для каждого соответствия в TestFiles я хотел бы создать строку как так:
"/testcontainer:UnitTest.SomeLibrary1.dll"
"/testcontainer:UnitTest.SomeLibrary2.dll"
"/testcontainer:UnitTest.SomeLibrary3.dll"
Я пытаюсь использовать внутренности MSBuild, не имея необходимость создавать пользовательскую задачу, действительно ли это возможно?
TIA
Это действительно зависит от использования этого в дальнейшем. Например, задача, которой вы ее отправляете, принимает ли она в списке элементов и хотите ли вы вызывать ее один или несколько раз?
Если вы хотите вызвать ее один раз, используйте @ (...) синтаксис, и если вы хотите вызывать его много раз, вы выполняете пакетную обработку с синтаксисом% (...).
Для однократного вызова
<Message Text="Test Files: @(TestFiles->'/testcontainer:%(RecursiveDir)%(Filename)%(Extension)')"/>
Для многократного вызова
<Message Text="Test Files: /testcontainer:%(TestFiles.RecursiveDir)%(TestFiles.Filename)%(TestFiles.Extension)"/>
Дополнительная информация о пакетной обработке на http://sedotech.com/Resources#batching
Попробуйте это:?
<Message Text="TestFiles= @(TestFiles-> '"%(Fullpath)"', ' ')" />
Ссылки: