I don't know how to specify correct mask to search for my test assemblies in TFS2010 build definition. I'm not using default Binaries folder for output assemblies. Each test project has its own bin\Debug or bin\Release output folder. If I use the default mask **\*test*.dll my tests failed with this error:
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.
This is because **\*test*.dll mask will find multiple results for the same assembly in the bin\Debug and obj\Debug folders.
I tried to change this mask to exclude obj\Debug folder and use bin only:
**\bin\Debug\*test*.dll
**\bin\**\*test*.dll
**\Debug\*test*.dll
but FindMatchingFiles activity return always 0 results.
It is working only when I pass full path to the test assembly.
What is the correct mask if I want to exclude obj\Debug folders from test assembly search?
WORKAROUND:
I'm still using FindMatchingFiles activity, but I had to add Assign activity with following params:
To - testAssemblies
From - testAssemblies.Where(Function(o) Not o.Contains("\obj\")).ToList()
I'm filtering all test assemblies found in the "obj" folders this way.