Некоторый контекст:
Я следовал руководству по использованию NuGet без фиксации пакетов с некоторым успехом. После обхода этой проблемы NuGet путем ручного добавления
и
для файла nuget.targets все заработало.
Однако, как только я клонировал репозиторий с помощью Mercurial, я получил следующую ошибку при сборке:
Unable to locate 'C:\...\Visual Studio 2010\Projects\MyProject\.nuget\nuget.exe'
Это имеет смысл, потому что мой шаблон игнорирования помешал мне проверить исполняемый файл. Из этого связанного SO-вопроса я сделал вывод, что этот файл нередко находится в системе контроля версий (или нет? ), но на самом деле я бы предпочел не передавать NuGet.exe в систему управления версиями , если это возможно.
Вопрос:Есть ли удобный способ предотвратить необходимость проверки NuGet.exe?
Я попробовал немного Google -fu, просмотрел документацию и возился с файлом NuGet.targets, но пока безуспешно. Кажется предпочтительным, если бы я мог просто динамически указывать на NuGet.exe конкретной среды, в которой создается решение.
Я знаю, что могу просто добавить исполняемый файл, но я бы предпочел знать, есть ли другие способы справиться с этим или узнать, почему нет жизнеспособных альтернатив.
Обновление:
Файл nuget.targets содержит соответствующий XML :
false
...
. Я не знаком с работой файлов.targets, но, похоже, это соответствует тому, что я ищу. С моей ковбойской -шляпой кодера я попытался изменить false
на true
в элементе DownloadNuGetExe, но это не сработало должным образом (с атрибутом условия )или без него.