2016-07-27 2 views
1

Я работаю над большим проектом 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 менеджера пакетов для проекта интереса: enter image description here Но в моем References моего проекта они не появляются, чтобы установить: enter image description here

пытался изолировать проблема с меньшим проектом

Я подумал, что это было странно, поэтому я закрыл решение и начал новое небольшое решение с помощью небольшого консольного приложения. Я добавил старую версию 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, чтобы посмотреть, где эти пакеты хранятся для ссылок?

+1

Иногда я вижу ту же проблему, когда версии .NET не совпадают. Это простая проверка, чтобы убедиться, что они так делают, поэтому я думал, что смогу это сделать в шляпе. –

+0

Ahh .. Ну, мы используем .NET 4.5 и mono, чтобы поддерживать работу кросс-платформы, поэтому, если это проблема, как это влияет на процесс восстановления пакета? – Jesse

+0

Измените свой вопрос, чтобы добавить файл .csproj, содержащий ваши ссылки. –

ответ

0

@RoberHarvey имело правильное решение. Проблема заключалась в файлах .csproj для проектов в моем решении. Все это было частью кодовой базы, которая никогда не имела хорошего способа отслеживать пакеты, и в прошлом были неудачные попытки исправить это. Таким образом, в моих файлах проектов сохранялись некоторые несоответствия. Это было устранено путем удаления и переустановки пакетов проблем после удаления старого файла nuget.config.

Смежные вопросы