Сбой восстановления пакета Nuget с доступом к пути ".. \ packages \ Microsoft.Owin.Security.Jwt \ 4.0.0" запрещен - PullRequest
0 голосов
/ 17 октября 2019

Как видно из заголовка, я получаю эту ошибку, когда я восстанавливаю свои пакеты в Visual Studio 2015, обновление 3, система Windows 10.

Справочная информация. Моя компания поддерживает центральный репозиторий Nuget, из которого расположены все пакеты. устанавливаетсяУпомянутые пакеты являются зависимостью от пакета, разработанного моей организацией.

Поэтому я использую пакет решения .nuget, чтобы указать наш центральный репозиторий для загрузки всех пакетов, даже если он исходит от nuget.org. Все обслуживается через этот центральный репозиторий. В проекте отсутствует прямая конфигурация URL-адреса пакета nuget.org.

Некоторая информация по устранению неполадок: я пытался восстановить пакеты напрямую из nuget, все работает без проблем. (Без изменений в правах, настройках проекта или конфигурации системы)

Ошибка, полученная при восстановлении:

Не удалось восстановить пакет NuGet для проекта имя_проекта \ проект: невозможно найти версию '4.0.0' пакета 'Microsoft.Owin.Security.Jwt'.
https://company -central-repository / nuget : Ошибка при загрузке 'Microsoft.Owin.Security.Jwt.4.0.0' из 'https://company -central-repository / nuget / Загрузить / Microsoft. Owin.Security.Jwt / 4.0.0 ». Доступ к пути ".. \ packages \ Microsoft.Owin.Security.Jwt \ 4.0.0" запрещен. https://company -central-repository / nuget-prerelease : Ошибка загрузки 'Microsoft.Owin.Security.Jwt.4.0.0' из 'https://company -central-repository / nuget-prerelease /Скачать / Microsoft.Owin.Security.Jwt / 4.0.0 ». Доступ к пути '.. \ packages \ Microsoft.Owin.Security.Jwt \ 4.0.0' запрещен.

Я не уверен, что с этим не так.

Я подозреваю, что я не могу загрузить этот пакет, потому что у меня нет доступа к этому хранилищу. Вот откуда исходит отказ в доступе, а не из моей локальной папки.

Но я могу искать эти пакеты через веб-портал хранилища и его видимый, и я могу прочитать детали. Также я могу загрузить файл .package.

Также я проверил права папок 'C: \ Users \ username.nuget \ packages' и папки пакета проекта. Полный доступ есть. И нет проблем в восстановлении пакетов из nuget.org напрямую для других пакетов, которые добавляются.

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

1 Ответ

0 голосов
/ 21 октября 2019

Я думаю, что эта проблема больше связана с локальными папками, а не с центральным репозиторием Nuget, потому что вы можете получить доступ к пакетам там. И Access to the path '..\packages\Microsoft.Owin.Security.Jwt\4.0.0' is denied. указывает, что что-то случилось с локальной папкой.

.. \ packages \ Microsoft.Owin.Security.Jwt \ 4.0.0

Этот путьдовольно странно. Для формата packages.config пакеты хранятся в C:\Users\xxx\.nuget\packages\Microsoft.Owin.Security.Jwt\4.0.0 или ..\packages\Microsoft.Owin.4.0.0\xxx (в папке решения). Я не уверен, что на самом деле происходит с вашим проектом, вот несколько советов, которые могут помочь:

1.Проверьте утверждения в ваших packages.config и xx.csproj, должно быть:

<package id="Microsoft.Owin.Security.Jwt" version="4.0.0" targetFramework="netxxx" />

и

    <Reference Include="Microsoft.Owin.Security.Jwt, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.Owin.Security.Jwt.4.0.0\lib\net45\Microsoft.Owin.Security.Jwt.dll</HintPath>
      <Private>True</Private>
    </Reference>

Если существует какая-либо цель msbuild, такая как this , удалите ее.

2.Закройте экземпляр VS, удалите packagesпапку в каталоге решений и удалите папку packages в C:\Users\xxx\.nuget\packages.

3. Убедитесь, что https://api.nuget.org/v3/index.json установлен как Источники пакетов .

После этого, щелкните правой кнопкой мыши решение => Восстановить пакеты nuget, чтобы проверить, устранена ли проблема. (Включите эти две опции ). Кроме того, вы можете создать новый пустой проект для использования пакета nuget, чтобы проверить, если он делает некоторыеразница. Надеюсь, это поможет:)

...