Изменить путь ссылки с GAC на папку во время компиляции - PullRequest
3 голосов
/ 20 сентября 2011

У меня есть проект, который зависит от некоторых сторонних библиотек. Эти сборки зарегистрированы в GAC. Пока все отлично работает. Но при сборке проекта на сервере сборки сторонние сборки находятся не в GAC, а в дополнительной папке (называемой external ), которая также находится в SVN-хранилище, используемом сервером сборки.

Сборка не удастся из-за того, что MSBuild не может найти эти сборки. Есть ли способ указать MSBuild на сервере сборки использовать сборки из этой папки вместо GAC?

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

Рекомендуется НЕ для ссылки на сторонние сборки из GAC во время сборки. Вместо этого используйте ссылки на все сторонние сборки из общей управляемой исходным кодом папки.

Если вы открываете проекты в редакторе, в идеале у вас будет HintPath для каждой ссылки на стороннее устройство. То есть:

<Reference Include="Microsoft.Practices.Unity">
  <HintPath>..\..\..\3rd Party\Prism4\Microsoft.Practices.Unity.dll</HintPath>
</Reference>
0 голосов
/ 20 марта 2012

Это должно работать

MSBuild.exe "%BUILD_TARGET%" /t:rebuild /p:OutputPath="%OUTPUT_PATH%" /p:ReferencePath="%REF_PATH%"

Соответствующим битом будет параметр ReferencePath ofc:)

...