среда, 21 апреля 2010 г.

Strange bug with TFSBuild

We have configured CI via TFSBuild. It runs not just compile and unit tests but it deploy to IIS and run more complicated system/module functional tests. To do this we run ...\mstest.exe /testcontainer:[ddl with tests]. When mstest.exe is executed it creates Out directory and copies all related DLL to this folder after what execute all tests. When it try to find out what DLLs must be included it search for DDLs (1 level) that are referenced by Test's DLL and DLLs (2 level) that are used by DLLs of (1 level) but (3 level) DLL are not added.

We had an assembly (3 level) that was used by 2 level DLL but was not used in any other DLL. And when mstest.exe tries to execute a test it has an exception because DLL is not copied to Out folder, but when you try to run test via Visual Studio test pass because reference on 2 level DLL was in Test DLL but classes from it was not used.

As a result we created a class in 1 level DLL that uses 3 level DLL and now everything works fine.

Комментариев нет:

Отправить комментарий