2014-09-18 4 views
0

В моем корневой папке проектов у меня есть папка пакетов, которая используется различными веб-приложениями в C:/Projects/packages. Все ссылки на приложения, указывающие на эту папку, работают нормально.Nuget Переустановка пакетов - обновление папки с неправильными пакетами

Однако при использовании нового приложения, когда я вытащил последний код, все ссылки ожидают, что папка пакетов будет работать на уровне решения - C:/Projects/CompanyName/Apps/SolutionFolder/packages.

Когда я вытаскиваю последние, эта папка не включена (она никогда не проверялась на подрывную деятельность), поэтому у меня отсутствуют ссылки при первом открытии проекта. Однако, когда я пытаюсь построить, он не вытягивает последние данные для этих пакетов и, конечно же, не компилируется. Когда я запустил Update-Package -reinstall, он обновит пакеты IN C:/Projects/packages и НЕ создаст папку пакетов на уровне решения.

Я подтвердил, что у меня есть пакет.config в каждом проекте в решении и что каждый проект ожидает, что сборки будут размещены в папке пакетов на этом уровне. Странно то, что после запуска -reinstall эти hintpaths в файлах проектов будут фактически указывать на папку C:/Projects/packages, и ссылки на сборку будут разрешаться ... но только для сторонних пакетов и НЕ для наших, построенные дома.

Кто-нибудь знает, почему это происходит? Решение заключалось в том, чтобы получить копию папки пакетов, которую использует коллега, и вставить ее в папку решений, но это не решит проблему, если она повторится.

+0

Вы используете NuGet.config где угодно, чтобы указать собственный путь для ваших пакетов? –

+0

Да, все веб-приложения, которые ссылаются на C:/Projects/packages, определяют репозиторийPath, соответствующий этому местоположению. Однако новое приложение, с которым я работаю, НЕ задает этот путь репо. Он просто указывает ключ disableSourceControlIntegration. – MickJuice

+1

Просто интересно, влияет ли наследование NuGet.config на вещи. Если файл NuGet.config, который определяет repositoryPath, находится ниже другого проекта в структуре каталогов, он может поднять это значение. Я бы попытался определить repositoryPath в файле NuGet.config, который, если это возможно, не определил его. Наследование - это документ здесь - http://docs.nuget.org/docs/reference/nuget-config-file –

ответ

1

Per @MattWards link Я проверил файл nuget.config в appdata, в котором указан этот путь C: /project.packages. После удаления этого параметра и создания моего решения папка пакетов была добавлена ​​на уровень решения, и все сработало.