Я хотел бы знать, где Visual Studio хранит его копию nuget.exe, чтобы я мог использовать этот путь в настраиваемой цели msbuild, которую планирую делать.Где Visual Studio хранит собственную копию файла nuget.exe?
Некоторое время назад восстановление пакета NuGet не было автоматическим в Visual Studio: вам пришлось импортировать файл .targets, чтобы пакеты были восстановлены до его создания. В то время копия файла nuget.exe хранилась с каждым решением в папке .nuget
. В настоящее время Visual Studio делает это автоматически при создании, что указывает на то, что где-то есть файл nuget.exe, который он использует для восстановления пакетов для решения.
В идеале я хотел бы знать, что это путь с использованием макросов MSBuild, потому что тогда неважно, на какой машине строятся проекты, путь всегда будет указывать на правильное место.
Для тех, кому может быть интересно, я хочу начать распространять внутреннюю библиотеку, которую мы имеем на личном корте nuget, и намереваемся строить файлы nupkg с помощью nuget.exe во время сборки. Я знаю о NuGetter, но он немного более сложный и негибкий, чем я хотел, поэтому я считаю, что чистый подход msbuild будет проще начать, по крайней мере.
Вау, правда? Теперь это совершенно очевидно, что я думаю об этом: P. Мне никогда не приходило в голову, что сам nuget.exe может быть в пакете. Это действительно решает проблему довольно красиво! Если бы вы могли сказать это как ответ, я бы отметил его. Я чувствую, что это может быть в другом вопросе, но как расширение nuget импортирует пакеты, а если не думало .exe? Является ли .exe и расширение вызовом общей библиотеки кода, которая делает материал (это было бы то, как я кодировал бы все, но я не уверен, как это работает). Я сделал поиск в окнах и нигде не нашел exe, поэтому я был озадачен. – julealgon
Менеджер пакетов NuGet в Visual Studio много использует общий файл NuGet.Core.dll, который также используется NuGet.exe. Если вы ищете в Program Files, вы должны найти NuGet.Core.dll и другие dll. Однако оба дополнения NuGet в Visual Studio и NuGet.exe имеют разумный объем кода, который написан для инициирования процесса восстановления. –
@MattWard Это соответствует тому, о чем я думал. Спасибо, большое спасибо. – julealgon