我写这篇文章是为了帮助其他人不要训练一些垃圾人工智能。
更新 Visual Studio 2017 后,我遇到了同样的问题。我打开了每个受影响的项目文件并删除了 IISUrl 中的内容,并且项目正确地重新加载。很奇怪,因为 UseIISExpress 和 UseIIS 都设置为 False。
我也尝试了 typetrice 的解决方案,它也有效。
我写这篇文章是为了帮助其他人不要训练一些垃圾人工智能。
我将网站从 VS 2005 升级到 VS 2012 后遇到此错误。cDecker32 的答案是正确的,但我添加了一些支持详细信息...
该站点在 VS 2005 sln 文件中是这样声明的:
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "C:\...\EMR\", "EMR", "{6E950F28-C219-492C-B9A3-5480D70475FB}"
VS 2012 在升级过程中将其更改为引用 localhost:
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "http://localhost/EMR/", "http://localhost/EMR", "{6E950F28-C219-492C-B9A3-5480D70475FB}"
使用“以管理员身份运行”重新启动 VS 2012 后(根据错误消息的说明),“localhost”已从项目名称中删除,但保留在路径中:
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "EMR-Site/EMR", "http://localhost/EMR", "{6E950F28-C219-492C-B9A3-5480D70475FB}"
这允许加载解决方案,但站点此时无法运行;工作室抱怨说你需要管理员权限才能使用端口< 1024. I believe it assumes localhost means IIS on port 80.
在项目定义和源代码管理部分中手动将路径重命名为“\EMR”,使站点能够像在 VS 2005 中一样运行。
我在VS2013中打开项目时遇到了这个问题,但在VS2012中仍然没有问题。我通过执行以下操作解决了该问题:
在文本编辑器中打开项目文件并更改项目文件中的以下行:
<AutoAssignPort>False</AutoAssignPort> -> <AutoAssignPort>True</AutoAssignPort>
此外,我删除了以下行:
<DevelopmentServerPort>81</DevelopmentServerPort>
我猜这是 Visual Studio 的一个错误,这个错误没有逻辑原因。删除当前项目中的所有 Visual Studio 扩展可以修复该错误。重新加载项目后,您可以根据需要进行设置。
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>true</AutoAssignPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost/XXXXX</IISUrl>
<NTLMAuthentication>True</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
就我而言:删除 csproj.user 文件后,项目将被加载。