Плохая идея зарегистрировать все библиотеки DLL на компьютере агента сборки, иногда вы можете обнаружить, что вам необходимо установить Visual Studio, например, на машину агента сборки;)
Я бы предложил разместитьтакие библиотеки вместе с вашей кодовой базой в системе управления версиями (я полагаю, вы используете ее) и просто ссылаетесь на папку lib, объявив свойство MSBUild как
<PropertyGroup>
<LibFolder>$(PathFromCommandLineOrJustHardCodedPath)</LibFolder>
</PropertyGroup>
И затем перед выполнением сборки / компиляции просто скопируйтефайлы из $ (LibFolder) в сборку $ (OutputFolder) с помощью стандартной команды MSBuild Copy
, указав исходные и целевые файлы, и вот так.
Чтобы заставить TeamCity загружать файлы Lib (dll) из папки VCSпросто добавьте сопоставление путей в:
TeamCity Configuration Settings -> Edit Build Configuration -> VCS Root settings -> Client Mapping
РЕДАКТИРОВАТЬ:
В вашем случае похоже, что у вас есть интеграционный тест, который зависит от внешнего сервера COm, который вам нужно запустить, так что вы можете программно зарегистрироватьэта DLL, например, в TestSetup, а затем не забудьте отменить ее регистрацию в тесте TearDown.В любом случае вам нужно просто ссылаться на эту DLL как VS Project -> Add Existing Item -> Add as Link
+ set Copy to Output Directory -> Copy if newer
Как зарегистрировать COM dll: см. этот пост SO