Nuget包安装错误 - 无效的URI:无法解析权限/主机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nuget包安装错误 - 无效的URI:无法解析权限/主机相关的知识,希望对你有一定的参考价值。
我在Visual Studio 2017中使用NuGet尝试在较旧的Web窗体项目上安装包,但它失败并出现以下错误:
Invalid URI: The Authority/Host could not be parsed
这只发生在尝试在IIS中映射的网站上安装软件包时(其他类型的项目工作正常),因此项目名称是http://localhost ...等,这是我认为它在解析时遇到的问题。它工作正常,直到几天前,我不知道是什么导致它改变。这是我收到的完整信息:
Resolved actions to install package 'Newtonsoft.Json.10.0.3'
Found package 'Newtonsoft.Json 10.0.3' in 'd:packages'.
Package 'Newtonsoft.Json.10.0.3' already exists in folder 'd:packages'
Install failed. Rolling back...
Package 'Newtonsoft.Json.10.0.3' does not exist in project 'http://localhost:89/'
Executing nuget actions took 71.95 ms
Failed to add reference to 'Newtonsoft.Json'.
Invalid URI: The Authority/Host could not be parsed.
另一个相关的线索是,当我在网站项目上打开“管理NuGet Pacakges ...”时,它没有显示任何正在安装的内容,即使这个项目中的packages.config文件明确存在且定义了多个引用。
我的环境如下:
Visual Studio Professional 2107版本15.5.2,Microsoft.NET Framework版本4.7.02556,NuGet包管理器版本4.5.0,我的NuGet存储库设置为在D: packages中安装
有没有人对我可以改变什么设置以使其再次工作有任何建议?
NuGet似乎不适用于VS 15.5.1到15.5.5(包括)的本地IIS Web站点项目。
解决方法是:
- 关闭VS.
- (以防万一)制作.sln(解决方案文件)的备份副本
- 在文本编辑器中打开.sln文件并找到该行:
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "http://www.devsite.com", "http://www.devsite.com", "{A8837508-9BC1-482A-86EF-4B3156CAFDBE}"
- 修改第二个参数并保存:
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "http://www.devsite.com", "DevWebsiteFolderName", "{A8837508-9BC1-482A-86EF-4B3156CAFDBE}"
- 打开你的解决方案
- 如你所愿使用NuGet :-)
可选的:
- 关闭VS.
- 扭转你的.sln变化。
- 打开VS.
信用和进一步参考:
NuGet fails for website projects hosted on local IIS
Nuget looking in wrong location for packages.config in web forms web site running on IIS
这让我疯了......我花了好几个小时试图在VS2017中安装Authorize.net nuget包,并且它不断抛出相同的错误。
我终于在VS2015中打开了我的项目并安装它没有任何问题。
希望这可以帮助。
- 贾森
鉴于我们没有得到微软的任何帮助,我们采用了像Barry Kaye所建议的那样做的惯例,但对于第二个参数,只需用一个句号替换它“。”
此问题似乎在15.6.0中已得到修复。如果可以,请尝试升级到该版本。
以上是关于Nuget包安装错误 - 无效的URI:无法解析权限/主机的主要内容,如果未能解决你的问题,请参考以下文章
无效的 URI:无法解析主机名。 Visual Studio 和 Chocolatey 安装问题
无效的 URI:无法通过我们的自定义重写 IHttpModule 解析主机名