visual-studio-2015 - 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 恢复包没有问题。
从哪里可以看到更多与此相关的日志?如果其他人也遇到过同样的问题,请分享您的解决方案。
解决方案
我猜这个问题更多地与本地文件夹有关,而不是与中央 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.config
1.检查你的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实例,删除packages
Solution目录下的文件夹,packages
删除C:\Users\xxx\.nuget\packages
.
3.确保https://api.nuget.org/v3/index.json
设置为Package Sources。
之后,右键单击解决方案=>恢复 nuget 包以检查问题是否消失。(启用这两个选项)此外,您可以创建一个新的空项目来使用 nuget 包以检查它是否有一些不同。希望能帮助到你:)
推荐阅读
- snowflake-cloud-data-platform - 是否有任何内置函数或快速方法来获取存储过程或函数中使用的底层对象名称?
- angular - TypeError:无法设置未定义的属性
- java - Spring Data JPA(Spring Boot 2)中的多个表连接
- javascript - 错误 [ERR_STREAM_WRITE_AFTER_END]:结束后写入,http 服务器 node.js
- d - 转换 C "srand(time(NULL));" 转D语言
- javascript - 当鼠标不移动或鼠标进入其他容器 React js 时如何停止轨迹
- asp.net - 网格中的边框显示
- python - 在 SQL 帮助中迭代查询 + 忽略案例
- java - Android BitcoinJ 设置错误:“预期服务 [FAILED] 正在运行,但服务已失败”
- reactjs - React JS - 将道具从导航链接传递到组件