Не могу избавиться от официального пакета NuGet - PullRequest
0 голосов
/ 02 ноября 2011

Я захожу в параметры диспетчера пакетов -> Источники пакетов и удаляю официальный источник пакетов NuGet, чтобы был доступен только мой локальный источник. Затем я закрываю Visual Studio 2010. Как только я снова открываю Visual Studio, официальный источник пакетов NuGet по-прежнему находится на вершине списка доступных источников пакетов. https://go.microsoft.com/fwlink/?LinkID=206669

Я попытался экспортировать и импортировать настройки, удалив соответствующие файлы suo безрезультатно. Это происходит даже тогда, когда я не открываю решение.

Одна вещь, которую я обнаружил, заключается в том, что, когда я открываю VS во второй раз, следующий файл конфигурации является правильным. C: \ Documents and Settings {myusername} \ Application Data \ NuGet \ NuGet.Config

Как только я открываю Диспетчер пакетов в разделе Инструменты -> Параметры, официальный источник добавляется в NuGet.Config, так что

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="Local Package Source" 
        value="http://nuget:8081/DataServices/Packages.svc/" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration

Изменено на ...

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!-- new line below -->
    <add key="NuGet official package source" 
        value="https://go.microsoft.com/fwlink/?LinkID=206669" />
    <add key="Local Package Source" 
        value="http://nuget:8081/DataServices/Packages.svc/" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration

Этот файл не изменяется при открытии диалогового окна «Параметры», только когда я щелкаю диспетчер пакетов в представлении дерева параметров.

Откуда он получает этот параметр и почему он продолжает его вставлять?

Обновление скопировано с Бена Фегана по той же проблеме на CodePlex

http://nuget.codeplex.com/workitem/1696

«Я думаю, что это может быть проблема с реализацией AddOfficialPackageSourceIfNeeded () здесь» ... http://nuget.codeplex.com/SourceControl/changeset/view/2b36b2e1935a#src%2fVisualStudio%2fPackageSource%2fVSPackageSourceProvider.cs

1 Ответ

2 голосов
/ 03 ноября 2011

В самом NuGet vsix есть некоторый код, который добавляет обратную связь по умолчанию, если в списке нет других, но, похоже, в нем есть ошибка:

    if (officialFeed == null)
    {
        // There is no official feed currently registered

        // Don't register our feed unless the list is empty (other than the aggregate). This is the first-run scenario.
        // It also applies if user deletes all their feeds, in which case bringing back the official feed makes sense.
        if (_packageSources.Count > 1)
        {
            return;
        }

    }

Это затем падаети добавляет официальный канал в качестве первого источника.Я бы добавил другой источник, чтобы у вас был> 1 источник (локальный каталог должен работать).Это должно предотвратить это поведение.

Команда Nuget.exe работает аналогично, однако она добавляется по умолчанию независимо от доступных источников.

Я считаю, что это поведение отличается в зависимости от версии.Какую версию вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...