2016-06-22 3 views
1

Я не могу установить/восстановить пакеты nuget из фида Team Services Visual Studio в основном веб-приложении asp.net (RC2). Я получаю следующее:Несанкционированный пакет nuget из Visual Studio Team Services с использованием asp.net core rc2

error: Response status code does not indicate success: 401 (Unauthorized).

Я бегу Visual Studio Community 2015 Update 2 и NuGet версии 3.4.4. Я могу установить/восстановить пакеты из этого фида в других типах проектов.

Нужно ли мне что-то делать, чтобы передать мои учетные данные для основного веб-приложения asp.net?

Шаги для воспроизведения:

На вкладке пакета Team Services I выберите "Подключение к поток" и скопировать исходный пакет NuGet URL

В Visual Studio -> Инструменты -> Менеджер NuGet Package -> Настройки диспетчера пакетов -> Источники пакетов и добавьте URL-адрес канала из vso

Затем из моего проекта ASP.NET Core Web Application (.NET Framework) щелкните правой кнопкой мыши ссылки -> Управление пакетами NuGet -> Выберите мой канал из источника пакета (перечислены пакеты) - > Нажмите, чтобы установить

В выход:

Installing NuGet package xxxxx 
Successfully installed xxxxx to WebApplication1 
========== Finished ========== 

Тогда он будет пытаться восстановить пакет в какой момент я получаю:

error: Response status code does not indicate success: 401 (Unauthorized). 
error: Failed to retrieve information from remote source 

А внутри ссылки на веб-проекта - пакет имеет предупреждение значок - NU1001 Зависимость xxxxx не удалось решить

+0

Вы вошли в свою учетную запись VSTS из верхнего правого угла VS? Можете ли вы поделиться своими шагами, чтобы воспроизвести эту проблему? –

+0

@ Eddie-MSFT - почему подписывается даже вопрос? Каналы, размещенные на NuGet, не требуют авторизации. Я бы предпочел подумать, что это может быть проблемой с прокси-сервером, который требует авторизации, и в этом случае подписание не имеет значения? @HPaxton - вы видите ту же проблему, если попытаетесь восстановить из командной строки с помощью 'dotnet restore'? Можете ли вы проверить и отправить каналы, которые вы используете, - если вы выполняете «восстановление в режиме« dotnet », он покажет, какие каналы он использует до конца. – Pawel

+0

@Pawel Он/она использует визуальный студийный онлайн-канал, который является частным каналом. –

ответ

3

я могу воспроизвести проблему на моей стороне и после это обходной путь я использую для восстановления пакетов:

  1. Удалить подачи ресурса VSTS из «VS \ Tools \ NuGet Package Manager Источники \ Пакет ».
  2. Открыть вкладку «Пакеты» на веб-портале VSTS.
  3. Выберите канал, который хотите подключить, и нажмите кнопку «Подключиться к каналу».
  4. В диалоговом окне выберите метод «Personal Token».
  5. Скопируйте сгенерированную команду в диалоговом окне.
  6. Запустите CMD как администратор на вашем компьютере.
  7. Вставьте скопированную команду в CMD.
  8. Добавить параметр -StorePasswordInClearText после команды.
  9. Запустить команду.
  10. Перезапустите VS.
  11. Установка и восстановление пакетов.
+0

У меня была такая же проблема, поэтому я следил за вашим использованием PAT. Теперь, по крайней мере, я получаю другую ошибку следующим образом. Ошибка дешифрования пароля для источника: 'https: //****.pkgs.visualstudio.com/_packaging/myfeed/nuget/v3/index.json' не поддерживается на этой платформе. Вместо этого может использоваться текстовый пароль. – SamDevx

+0

@SamDevx Проверьте шаг 8. Я получаю это сообщение об ошибке тоже без шага 8. –

+0

извините, мой плохой, он работает сейчас. Ваши обходные камни! Ключ здесь использует PAT, как вы предложили, но модифицируя с помощью ключа -StorePasswordInClearText. Я могу, наконец, продвинуться вперед в проекте. Однако в какой-то момент они (команда nuget или .NET Core) должны исправить эту ужасную проблему. – SamDevx

1

У меня была аналогичная проблема (без проверки подлинности) в задаче восстановления NuGet для определения сборки VSTS. Решением было добавить файл NuGet.config в корень проекта со ссылкой на официальный и мой пользовательский канал. Возможно, это помогает и вашему основному проекту.

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 

    <packageSources> 
    <clear /> 
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> 
    <add key="RmlrTools" value="https://<MyProjectName>.pkgs.visualstudio.com/DefaultCollection/_packaging/<MyFeedName>/nuget/v3/index.json" /> 
    </packageSources> 
    <!-- used to store credentials --> 
    <packageSourceCredentials /> 
    <!-- Used to specify which one of the sources are active --> 
    <activePackageSource> 
    <!-- this tells only one given source is active --> 
    <add key="NuGet official package source" value="https://nuget.org/api/v2/" /> 
    <!-- this tells that all of them are active --> 
    <add key="All" value="(Aggregate source)" /> 
    </activePackageSource> 
    <!-- Used to disable package sources --> 
    <disabledPackageSources /> 
    <!-- 
    Used to specify default API key associated with sources. 
    See: NuGet.exe help setApiKey 
    See: NuGet.exe help push 
    See: NuGet.exe help mirror 
    --> 
    <!--<apikeys> 
    <add key="http://MyRepo/ES/api/v2/package" value="encrypted_api_key" /> 
    </apikeys>--> 
</configuration> 
1

Также here - это документация, показывающая, как вы должны это сделать в разделе «.NET Core».