2014-12-05 1 views
0

Я не понимаю общую схему того, как NuGet используется на платформе Windows (потому что я никогда не видел этого, я работаю с Linux и monodevelop).
Во многих окнах проектов, есть .nuget папка в хранилище, как https://github.com/YAFNET/YAFNET/tree/master/yafsrc/.nuget
В этой папке есть nuget.exe исполняемые.Почему проекты Windows C# содержат исполняемый файл nuget в папке .nuget?

Почему необходимо добавлять исполняемые файлы в исходный код (SCC)?
Как инструмент сборки NuGet отличается от всех других двоичных инструментов, таких как компиляторы, которые не входят в состав SCC?
Почему другие диспетчеры пакетов, такие как paludis, не добавляются в SCC, но nuget?

В чем именно причина поместить NuGet в SCC?

+0

http://stackoverflow.com/questions/12022154/prevent- need-to-add-nuget-exe-to-source-control –

ответ

0

Нет необходимости добавлять NuGet.exe в исходный код.

Причина, по которой некоторые проекты имеют .nuget/NuGet.exe, с набором других файлов MSBuild, заключается в использовании восстановления пакета на базе MSBuild. Восстановление пакета на основе MSBuild будет запускать NuGet.exe во время сборки, чтобы загрузить все недостающие пакеты.

Восстановление пакета на базе MSBuild устарело командой NuGet.

Visual Studio с последними версиями диспетчера пакетов NuGet автоматически восстанавливает пакеты NuGet перед созданием проекта. Если вам нужно восстановить пакеты NuGet на сервере сборки можно использовать NuGet.exe для восстановления пакетов NuGet, выполнив в командной строке аналогична:

NuGet.exe restore YourSolution.sln 
+0

, но почему они сделали это в более старых версиях MSVS? было слишком сложно положить nuget в PATH? –

+0

В более старых версиях MSVS было добавлено меню «Enable NuGet Package Restore», которое добавило файлы, и в то время было рекомендовано проверить весь каталог на исходный элемент управления. Я полагаю, что было слишком много дополнительной работы, чтобы добавить nuget в путь на машине разработчика отдельно :) http://docs.nuget.org/docs/Workflows/Using-NuGet-without-committing-packages –