MsBuild: Передача ItemGroup с CallTarget

У меня проблемы с определением области действия групп элементов, которые я создаю в сценарии MSBuild. По сути, я хочу иметь две разные цели - назовем их RunUnitTests и RunIntegrationTests , которые генерируют группу элементов с именем TestAssemblies , а затем вызывают RunTests , который использует TestAssemblies , чтобы определить, из каких сборок запускать тесты.

Две разные цели для модульного и интеграционного тестов зависят от цели сборки и получают оттуда группу элементов со всеми скомпилированными сборками, но поскольку цель RunTests будет вызываться из разных мест, она может на самом деле не зависит ни от кого из них. Таким образом, мне нужно каким-то образом передать группу элементов общей цели testrunner. Однако это кажется невозможным, потому что изменения в группе элементов в целевом объекте, похоже, работают только в рамках этого целевого объекта.

Я видел эти сообщения , но они только похоже, подтверждают мои опасения и предлагают DependsOnTarget в качестве обходного пути - который не сработает для меня, так как мне нужно получать элементы из разных мест в разных прогонах.

Это то, что у меня так far:


    
    



    
    

    
        
    

    





    

Есть ли способ обойти это, или мне придется полностью реструктурировать свой сценарий сборки?

6
задан Community 23 May 2017 в 12:00
поделиться