Вернитесь к package.config
Можно ли вернуться к схеме packages.config
вещей? Когда я создал проект, я перешел к схеме PackageReference
, но по некоторым причинам теперь нужно перейти к старым способам.
Я попробовал команды консоли диспетчера пакетов, например, восстановить с помощью параметров Update
и Reinstall
. Они больше не генерируют package.config. Я также переключил Tools > Options > NuGet Package Manager
на packages.config
. Нехорошо.
Ответы
Ответ 1
Вам нужно будет:
- Добавить "пустой" файл
packages.config
в проект (то есть xml, как в примере, но без отдельных элементов <package>
)
- Выгрузите проект или закройте vs и откройте файл
csproj
в текстовом редакторе.
- Удалите все элементы
PackageReference
из файла проекта.
- Убедитесь, что
<RestoreProjectStyle>
не установлен в файле проекта.
- Вновь открыть проект в VS.
Ответ 2
Мне не хватило одного шага:
4,5. Убедитесь, что в Tools>Options>NuGet Package Manager>General>Default package management format
указано значение " Packages.config
Ответ 3
Хотел добавить еще одну вещь. Я попробовал все вышеперечисленные шаги, и Visual Studio продолжала пытаться использовать расположение глобальных пакетов вместо repositoryPath из Nuget.config. В конце концов обнаружил, что в файле obj dir моих проектов был файл package-lock.json, в котором хранился глобальный каталог пакетов. По какой-то причине операция очистки в Visual Studio не удаляла файл, поэтому я завел
git clean -x -d -f
В корне моего хранилища. Который удаляет все неотслеживаемые файлы и директоры и игнорирует шаблоны файла .gitignore. Это было немного чрезмерно, я мог бы попытаться найти их всех вручную, но это сделало свою работу. Теперь Nuget restore правильно использует параметр repositoryPath, указанный в файле Nuget.Config.