Можно ли избежать проверки в папке bin проекта MVC3 с помощью NuGet? - PullRequest
4 голосов
/ 22 июня 2011

Я создал проект MVC3 и извлек несколько библиотек с помощью NuGet (NHibernate, AutoFac и т. Д.). Кажется, что эти библиотеки настроены для установки двоичных файлов в папку bin, а не для ссылки на папку корневых пакетов. Когда я извлек источники на другой машине (папка bin еще не находится в управлении источниками), у меня была куча неработающих ссылок.

Вопрос: я что-то не так делаю? Есть ли способ настроить это так, чтобы мне не приходилось проверять папку binaries без необходимости прибегать к GAC или ручному управлению ссылкой обратно в папку пакетов?

Я использую VS2010 sp1 и NuGet 1.4.

UPDATE

Я нашел свою проблему! Я переместил проект после того, как он был создан, и библиотеки были загружены через NuGet. Это работало нормально на моей первой машине разработки, потому что у меня уже были DLL в папке bin, но не работало на моей второй машине разработки, потому что <HintPath> в файле .csproj больше не указывал правильно на папку packages.

Чтобы это исправить, выгрузите ваш проект в VS, отредактируйте его и исправьте ссылки. Было бы неплохо, если бы NuGet проверил настройку <HintPath> в файле .csproj и автоматически исправил ее.

Рабочий элемент NuGet: http://nuget.codeplex.com/workitem/1230

Ответы [ 2 ]

2 голосов
/ 22 июня 2011

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

"$(SolutionDir)NuGetCLI\nuget" install "$(ProjectDir)packages.config" -o "$(SolutionDir)Packages"

Это извлекает и настраивает пакеты, используемые в проекте. Преимущество заключается в том, что мне вообще не нужно хранить двоичные файлы в системе контроля версий.

0 голосов
/ 22 июня 2011

я что-то не так делаю?

На самом деле, когда вы устанавливаете пакет NuGet, содержащий сборки, в корневом каталоге проекта создается папка packages. Эта папка содержит все файлы для всех установленных пакетов. Ссылки сделаны из этой папки. Поэтому обязательно проверьте эту папку и ее содержимое в системе контроля версий. Эта папка не добавляется автоматически в проект Visual Studio, поэтому я не знаю, какую VCS вы используете, но кажется, что она не поддерживает версию этой папки.

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