Я не знаю, как указать правильную маску для поиска моих тестовых сборок в определении сборки TFS2010. Я не использую папку двоичных файлов по умолчанию для вывода сборки. Каждый тестовый проект имеет свою собственную папку вывода bin \ Debug или bin \ Release. Если я использую маску по умолчанию ** \ * test * .dll, мои тесты завершились неудачно с этой ошибкой:
API restriction: The assembly 'file:///E:\Builds\....\obj\Debug\xxx.IntegrationTests.dll'
has already loaded from a different location. It cannot be loaded from a new location within the same appdomain.
Это потому, что ** Маска \ * test * .dll найдет несколько результатов для одной и той же сборки в папках bin \ Debug и obj \ Debug.
Я попытался изменить эту маску, чтобы исключить папку obj \ Debug и использовать только bin:
**\bin\Debug\*test*.dll
**\bin\**\*test*.dll
**\Debug\*test*.dll
но активность FindMatchingFiles всегда возвращает 0 результатов.
Работает только тогда, когда я прохожу полный путь до тестовой сборки.
Какова правильная маска, если я хочу исключить папки obj \ Debug из поиска тестовых сборок?
РЕШЕНИЕ :
Я все еще использую действие FindMatchingFiles, но мне пришлось add Назначить действие со следующими параметрами:
To - testAssemblies
From - testAssemblies.Where(Function(o) Not o.Contains("\obj\")).ToList()
Таким образом я фильтрую все тестовые сборки, находящиеся в папках "obj".