Предотвращение необходимости добавления NuGet.exe в систему управления версиями

Некоторый контекст:
Я следовал руководству по использованию 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, но это не сработало должным образом (с атрибутом условия )или без него.

71
задан Community 23 May 2017 в 12:26
поделиться