Управление пакетами Nuget для проекта C # в нескольких решениях
Спасибо за ответ. Я воспроизвел эту проблему с двумя решениями, SolutionA
с проектом APIClient
. И SolutionB
, добавьте существующий проект APIClient
в SolutionA
к SolutionB
.
Затем, если мы восстановим пакет nuget на SolutionB
, пакет в проекте APIClient
в SolutionB будет восстановлен в папке \packages
в папке SolutionB по умолчанию, а не в папка SolutionA
.
В этом случае в проекте APIClient
по-прежнему отсутствует ссылка .dll
в SolutionB
, вам все равно нужно перейти на SolutionA
и восстановить пакеты nuget. Вот причина, почему вы получили эту проблему.
Чтобы решить эту проблему, вы можете добавить файл NuGet.Config
рядом с SolutionA
и SolutionB
со следующим содержимым:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="C:\Packages" />
</config>
</configuration>
Итак, папка \packages
не связана с файлом решения.
Кроме того, если вам интересно, вы можете попробовать преобразовать packages.config
в packagereference
для проекта APIClient
, с этим параметром пакет nuget будет сохранен в папке глобальных пакетов, C:\Users\<UserName>\.nuget\packages
,
Надеюсь, это поможет.