Я хочу указать, где хранятся пакеты при восстановлении nuget.Конечно, это задокументировано в MSDN, и, конечно, оно никогда не работает ....
У меня есть тестовое решение, хранящееся в D: \ Development \ Test \ Test.sln
Согласнок их документации , nuget больше не ищет в папке .nuget внутри папки решения.Вместо этого он теперь смотрит в папку с решениями или далее вверх по цепочке.Поэтому я могу сохранить nuget.config в
- D: \ Development \ Test \ Nuget.Config
- D: \ Development \ Nuget.Config
- D:\ Nuget.Config
Ну, я попробовал все три из них и перезапустил Visual Studio больше раз, чем я готов сосчитать.
Я также читал, что они сделали такоедрянная работа, реализующая nuget, эти опечатки внутри nuget.config приводят к тихому игнорированию файла nuget.Поэтому я подумал, что это должно быть, я сделал опечатку.Поэтому я скачал nuget.exe (последняя стабильная версия 5.0.2) и ввел команды для настройки nuget, чтобы разместить мои пакеты в нужном месте.
nuget config -set repositoryPath=D:\Development\test\packages -configfile ..\nuget.config
Вот как выглядит XML:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="D:\Development\test\packages" />
</config>
</configuration>
После настройки Nuget.config с помощью nuget.exe я снова попробовал любое из предыдущих расположений (D: \; D: \ Development \; D: Development \ Test), перезапускал Visual Studio при каждом изменении местоположения,Решение RichT Click, выберите «Восстановить пакеты nuget» и получите тот же результат: нулевые пакеты восстанавливаются в указанном мной пути к репозиторию.
Итак, в качестве последней попытки я попытался восстановить nuget из командной строки:
D:\Development\test>nuget restore test.sln -ConfigFile ..\nuget.config
MSBuild auto-detection: using msbuild version '16.1.76.45076' from 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\bin'.
Restoring packages for D:\Development\test\test\test.csproj...
Restoring packages for D:\Development\test\ClassLibrary1\ClassLibrary1.csproj...
Committing restore...
Committing restore...
Generating MSBuild file D:\Development\test\ClassLibrary1\obj\ClassLibrary1.csproj.nuget.g.props.
Generating MSBuild file D:\Development\test\test\obj\test.csproj.nuget.g.props.
Writing assets file to disk. Path: D:\Development\test\ClassLibrary1\obj\project.assets.json
Writing assets file to disk. Path: D:\Development\test\test\obj\project.assets.json
Restore completed in 603,63 ms for D:\Development\test\ClassLibrary1\ClassLibrary1.csproj.
Restore completed in 603,6 ms for D:\Development\test\test\test.csproj.
NuGet Config files used:
D:\Development\nuget.config
В нем даже упоминается, что он использует мой nuget.config, но, опять же, ZERO-пакеты восстанавливаются в моей папке с назначенными пакетами!
Я действительно надеюсь, что кто-нибудь может сказать мне, каким странным образом это происходит.должен работать.