我在 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 包...”时,它没有显示任何已安装的内容,即使这个项目中明确存在 package.config 文件并定义了多个引用。
我的环境如下:
Visual Studio Professional 2107 版本 15.5.2,
Microsoft.NET 框架版本 4.7.02556,
NuGet 包管理器版本 4.5.0,我的 NuGet 存储库设置为安装在 D:\packages
有没有人对我可以更改哪些设置以使其再次工作有任何建议?
最佳答案
NuGet 似乎不适用于 VS 15.5.1 到 15.5.5(含)中的本地 IIS 网站项目。
解决方法是:
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 fails for website projects hosted on local IIS
Nuget looking in wrong location for packages.config in web forms web site running on IIS
关于visual-studio - Nuget 包安装错误 -- 无效的 URI : The Authority/Host could not be parsed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47843907/