Внешние Dll не сбрасываются TFS - PullRequest
2 голосов
/ 11 декабря 2011

У нас есть общий сервер сборки под управлением TFS2010. В настоящее время мы используем решение VS2008 (скоро планируем перейти на VS2010).

В нашем решении ASP.NET 3.5 есть несколько внешних библиотек, которые размещены в папке «Библиотека» нашего решения. Проблема в том, что если мы опубликуем сайт с нашего компьютера для разработки, опубликованная папка будет идеальной. Но когда TFS собирает его на сервере сборки, то есть 3 внешних dll, которые никогда не удаляются, и мы должны вручную скопировать их после сборки.

Мы попробовали несколько вещей, но это не решило проблему. Мы также дважды проверили, что, как и другие dll, эти 3 dll имеют правильные файлы обновления, помещенные в папку bin.

Одной из проблем может быть то, что некоторые из этих проблемных библиотек могут быть в GAC машины разработки. Если это действительно проблема, то в любом случае на сервере сборки мы не можем поместить dll в GAC.

Есть идеи, как мы можем заставить эти 3 dll корректно попасть в папку bin при помощи TFS?

Ответы [ 3 ]

6 голосов
/ 12 декабря 2011

Если вы развертываете / копируете приложение, которое содержит ссылку на пользовательский компонент, зарегистрированный в GAC, компонент не будет развертываться / копироваться с приложением, независимо от параметра «Копировать локально». См. MSDN

. Вы должны принудительно скопировать локальное значение в true, добавив метаданные Private в ссылку на сборку GAC.Отредактируйте файл своего проекта и добавьте Личные метаданные:

<Reference ..>
    <Private>True</Private>
</Reference ..>

<ProjectReference ..>
    <Private>True</Private>
</ProjectReference ..>

Теперь ваша сборка GAC должна быть скопирована / удалена из выходной папки.

0 голосов
/ 11 декабря 2011

Попробуйте проверить журнал сборки и проверить, удалось ли msbuild найти библиотеки dll при сборке.Вы можете выбрать ведение журнала диагностики при постановке в очередь на сборку, чтобы получить еще более подробные журналы.

0 голосов
/ 11 декабря 2011

Вы пытались выбрать dll из папки «References» в решении Visual Studio, а затем установить Copy Local на true на панели свойств?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...