Я работаю над большим проектом C# с другими членами команды. Пока что проект был дезорганизован, и каждый из них имеет свой путь к созданию своей среды и развитию в целях развития. Для нового участника (и будущих) я пытаюсь документировать и затягивать процесс разработки. Проект управляется версией git, а члены используют VS2012, VS2015 и Monodevelop.Проект не осознает пакеты после успешного восстановления пакета Nuget
Проекты C# в нашем решении C# имеют все необходимые пакеты NuGet. У меня есть в файле .gitignore
следующее:.
# NuGet Packages
*.nupkg
# Ignore the actual packages but not the config file for them
**/packages/**/*
!**/packages/repositories.config
# don't ignore build/, which is used as an MSBuild target.
!**/packages/build/
Так что, когда я нажимаю с одной машины, а затем клонировать с другой стороны, у меня есть решение с проектами, прилагающимися в рамках этих проектов packages.config
файлов, который является xml, который содержит имя пакетов и версий.
Вот где моя проблема в
Я попробовал на свежий Windows 7 машины с VS2015 Community Edition клонировать репозиторий, который работал хорошо. Затем было предложено восстановить пакеты NuGet. Я это сделал. Я могу видеть, что пакеты и версии устанавливаются с учетом NuGet менеджера пакетов для проекта интереса: Но в моем References моего проекта они не появляются, чтобы установить:
пытался изолировать проблема с меньшим проектом
Я подумал, что это было странно, поэтому я закрыл решение и начал новое небольшое решение с помощью небольшого консольного приложения. Я добавил старую версию NUnit в этот проект и проверил, что пакет NuGet был установлен в каталог pakcages
. Затем я закрыл решение и удалил каталог пакетов. Когда я открыл решение, он понял, что пакета там не было, поэтому я попытался выполнить действие пакетов восстановления, щелкнув правой кнопкой мыши в меню пакета. Это сработало отлично.
Так что я думаю, что у меня должна быть какая-то другая конфигурация в моем большом проекте C#, запутанном. Я не знаю, устанавливает ли он пакеты где-то еще в моей системе. Любые указатели на то, где искать или какие конфигурации, на которые нужно смотреть, будут полезны и оценены!
(я не видел этот вопрос еще где, где, по-видимому пакет установлен, но проект все еще не знают об этом)
Обновление 7/28/2016 У меня был взгляд на nuget.config
файл для решения и, кажется, что там была линия там:
<add key="repositorypath" value="External\Packages" />
Тогда я нашел каталог на том же уровне, что и мой файл решения с именем External Packages
. Я хотел бы отметить, что человек, который первоначально установил это решение и его проекты, больше не существует. Поэтому я удалил этот каталог и файл nuget.config
. Я перезапустил VS2015 и выполнил операцию восстановления NuGet Packages. Похоже, что они восстановили пакеты и создали каталог с именем packages
, где они сейчас хранятся. Теперь это подражает тому, что я видел в моем маленьком проекте, где я пытался воссоздать это поведение.
Но я все еще сталкиваюсь с проблемой, когда менеджер пакетов NuGet говорит, что пакеты установлены, но «Ссылки» их не показывают.
Так что мне интересно, есть ли способ конфигурировать VS, чтобы посмотреть, где эти пакеты хранятся для ссылок?
Иногда я вижу ту же проблему, когда версии .NET не совпадают. Это простая проверка, чтобы убедиться, что они так делают, поэтому я думал, что смогу это сделать в шляпе. –
Ahh .. Ну, мы используем .NET 4.5 и mono, чтобы поддерживать работу кросс-платформы, поэтому, если это проблема, как это влияет на процесс восстановления пакета? – Jesse
Измените свой вопрос, чтобы добавить файл .csproj, содержащий ваши ссылки. –