2014-10-06 5 views
0

Я следовал за сообщением this, и я ожидал, что Nuget просто будет работать. Очевидно, нет. Я получаю ошибки на всех моих третьих DLL-участника, что я ожидаю NuGet автоматического обновления:Восстановление пакета Nuget не работает на сервере сборки TFS

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\ 
Microsoft.WebApplication.targets (182): Could not copy the file "bin\AutoMapper.dll" 
because it was not found. 

я правильно установить все, и я заверил, что решение Пакет восстановления включен. Если я удалю пакет локально и построю, NuGet восстанавливает этот пакет для меня.

Я не уверен, почему он не работает на сервере сборки.

Любые предложения?

ответ

1

Попробуйте добавить NugetRestore активность в TFS workfolw

enter image description here

Примечание:

для Team Foundation Build 2013 на локальных и визуальных служб Studio Team (ранее Team Service Foundation), по умолчанию Шаблоны процессов создания уже реализуют рабочий процесс восстановления пакета NuGet без какой-либо специальной настройки.

+0

У вас есть ссылка для добавления этого? – Robert

+0

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/bb358183-5552-4ee9-a6ef-528db24e65d0/how-to-use-the-nugetrestore-activity?forum=tfsbuild http://docs.nuget.org/docs/reference/package-restore-with-team-build – liorha

0

Я столкнулся с аналогичной ошибкой для пакета log4net nuget, и я решил его по-другому. Может быть, это когда-нибудь будет полезно кому-то.

Ошибка из TFS Team Build 2015

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\ Microsoft.WebApplication.targets (182): Could not copy the file "bin\Log4net.dll" because it was not found.

Причина

Путь к пакету NuGet в файле .csproj для ссылки на пакет в проекте не может быть найден

Резолюция

Отредактируйте файл .csproj проекта с ошибкой. Ищите узел ItemGroup в файле .csproj Вы увидите HintPath, указывающий на папку, наиболее похожую на папку, содержащую имя решения, где он будет хранить DLL. Заменить HintPath на <HintPath>..\..\Assemblies\3rd party\log4net\1.2.10.0\2.0\log4net.dll</HintPath>

В библиотеке пакетов nuget может быть не log4net, а другой библиотеке. Очень простой способ - отредактировать файл .csproj проекта в решении, который содержит ту же библиотеку пакетов nuget, скопировать ссылку nuget в ItemGroup и заменить в проекте с ошибкой. Ссылка должна начинаться с ...\Assemblies\3rd party\ ... вместо физического расположения файла на вашем компьютере.

Смежные вопросы