Лучший способ добавить пакеты NuGet в качестве ссылок на проекты в VS2012?
Ok. Действительно быстрый вопрос, я, вероятно, просто толстый.
Если вы щелкните правой кнопкой мыши по папке "ссылки на проекты", затем "Управление пакетами NuGet", вы можете установить пакеты, и они автоматически ссылаются на проект, на который вы нажали. Но тогда я хочу добавить ту же ссылку на другие проекты в том же решении. Если вы повторите предыдущий, но щелкните по другому проекту, единственным вариантом является удаление пакета (с момента его установки), каким образом можно добавить существующий (уже установленный) пакет NuGet в качестве ссылки на проект? Можно ли добавить ссылку, используя обычный диалог и "просмотреть" в dll в папке пакетов? Используйте один метод, чтобы добавить первую ссылку, а затем другую для последующих ссылок? Это не кажется правильным.
Ответы
Ответ 1
Вы можете использовать Manage NuGet packages for Solution...
по:
- щелчок правой кнопкой мыши по решению
-
Tools > Library Package Manager > Manage NuGet packages for Solution
Затем вы можете выбрать, в каких проектах устанавливать пакет, как показано на скриншоте ниже:
Кроме того, вы можете добавить установленный пакет к другим проектам в решении, используя тот же Manage NuGet packages for Solution...
.
![enter image description here]()
Ответ 2
Другой ответ здесь мне не помог. Вот что я сделал, я не знаю другого способа сделать это. Я использую VS 2013.
- Я установил пакет в консоли диспетчера пакетов, например.
PM> Install-Package Newtonsoft.Json
- В Обозревателе решений щелкните правой кнопкой мыши ссылку, выберите Добавить ссылку
- Нажмите "Обзор" и перейдите в DLL в каталог пакетов под папкой решения.
Это добавляет относительный путь для ссылки на проект, поэтому он должен работать с другими людьми, получая код из исходного элемента управления в разные каталоги.
Ответ 3
У меня была такая же проблема. Решение, отправленное kristianp, работает так, как ожидалось, но может быть немного громоздким, если иметь дело с большим количеством пакетов. Решение, которое сработало для меня, - это просто отредактировать файл myProjectName.csproj в блокноте и просто скопировать ссылки из другого проекта следующим образом:
...
<ItemGroup>
<Reference Include="Microsoft.AspNet.SignalR.Core">
<HintPath>..\packages\Microsoft.AspNet.SignalR.Core.2.1.2\lib\net45\Microsoft.AspNet.SignalR.Core.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AspNet.SignalR.SystemWeb">
<HintPath>..\packages\Microsoft.AspNet.SignalR.SystemWeb.2.1.2\lib\net45\Microsoft.AspNet.SignalR.SystemWeb.dll</HintPath>
</Reference>
...
Надеюсь, это поможет кому-то. Это спасло меня много щелчка:)