首页 > 解决方案 > Nuget 包还原失败,访问路径“..\packages\Microsoft.Owin.Security.Jwt\4.0.0”被拒绝

问题描述

正如标题所说,当我在 Visual Studio 2015 Update 3、Windows 10 System 中恢复我的包时,我遇到了这个错误。

背景:我的公司正在维护一个中央 nuget 存储库,从中安装所有软件包。提到的包是我组织开发的包的依赖项。

因此,我使用解决方案 .nuget 包来指定我们的中央存储库以下载所有包,即使它来自 nuget.org。一切都通过该中央存储库提供服务。项目中没有直接的 nuget.org 包 url 配置。

一些故障排除信息:我尝试直接从 nuget 恢复包,它没有任何问题。(没有更改权限或项目设置或系统配置)

恢复期间收到错误:

项目 projectName\project 的 NuGet 包还原失败:找不到包“Microsoft.Owin.Security.Jwt”的版本“4.0.0”。
https://company-central-repository/nuget :从“ https://company-central-repository/nuget/Download/Microsoft.Owin.Security.Jwt ”下载“Microsoft.Owin.Security.Jwt.4.0.0”时出错/4.0.0 '. 拒绝访问路径“..\packages\Microsoft.Owin.Security.Jwt\4.0.0”。 https://company-central-repository/nuget-prerelease :从“ https://company-central-repository/nuget-prerelease/Download/Microsoft.Owin ”下载“Microsoft.Owin.Security.Jwt.4.0.0”时出错.Security.Jwt/4.0.0 '。拒绝访问路径“..\packages\Microsoft.Owin.Security.Jwt\4.0.0”。

我不确定那有什么问题。

我怀疑我无法下载该软件包,因为我无权访问该存储库。那就是拒绝访问的来源,而不是我的本地文件夹。

但是我可以通过存储库的门户网站及其可见性搜索这些包,并且我可以阅读详细信息。我也可以下载 .package 文件。

我还检查了文件夹“C:\Users\username.nuget\packages”和项目包文件夹的权限。完全访问是存在的。对于添加的其他包,直接从 nuget.org 恢复包没有问题。

从哪里可以看到更多与此相关的日志?如果其他人也遇到过同样的问题,请分享您的解决方案。

标签: visual-studio-2015nugetnuget-package-restore

解决方案


我猜这个问题更多地与本地文件夹有关,而不是与中央 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(在解决方案文件夹中)。我不确定你的项目到底发生了什么,这里有一些可能会有所帮助的建议:

packages.config1.检查你的and中的语句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 Target 请将其删除。

2.关闭VS实例,删除packagesSolution目录下的文件夹,packages删除C:\Users\xxx\.nuget\packages.

3.确保https://api.nuget.org/v3/index.json设置为Package Sources

之后,右键单击解决方案=>恢复 nuget 包以检查问题是否消失。(启用这两个选项)此外,您可以创建一个新的空项目来使用 nuget 包以检查它是否有一些不同。希望能帮助到你:)


推荐阅读