我最近不得不将我的解决方案重新映射到一个新目录,在尝试在visual studio 2010中重新加载解决方案时,我得到错误消息:
"无法打开网站'http://localhost/XXX' "。必须在管理员帐户上下文中运行Visual Studio才能创建端口小于1024的IIS Express站点。"
这很奇怪,因为据我所知,解决方案文件中定义的端口远高于端口1024。我能找到的唯一建议要求我在VS中打开解决方案(有趣的小catch 22对吧?)。
在我从TFS重新映射和重新下载解决方案之前,解决方案工作了。
这是在远程应用程序中,所以我不能作为管理员访问实际运行VS
我在更新Visual Studio 2017后遇到了同样的问题。我打开了每个受影响的项目文件,并删除了IISUrl中的内容,项目重新正确加载。很奇怪,因为UseIISExpress和UseIIS都被设置为False。
我也尝试了typetrice的解决方案,它也工作。
不久前想出了一个解决方案,但忘记在这里发布答案,以防有一天有人偶然发现这个。
如果您打开包含项目的解决方案文件,则需要删除引用该网站的任何"localhost"实例。这似乎奏效了。
我的猜测是VS看到'localhost',并假设你试图在本地机器上实际打开一个站点,或者将其绑定到该地址。这就解释了端口错误
我在将网站从VS 2005升级到VS 2012后出现了此错误。cDecker32的答案是正确的,但我添加了一些支持细节…
在vs2005 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. 我相信它假设localhost是指80端口上的IIS。
在项目定义和源代码控制部分中手动将路径重命名为"EMR"允许站点像在VS 2005中一样运行。
当我在VS2013中打开项目时,我遇到了这个问题,但在VS2012中仍然没有问题。我通过以下操作解决了这个问题:
在文本编辑器中打开项目文件,并更改项目文件中的以下行:
<AutoAssignPort>False</AutoAssignPort> -> <AutoAssignPort>True</AutoAssignPort>
同时,我删除了以下行:
<DevelopmentServerPort>81</DevelopmentServerPort>
我猜这是visual studio的一个bug,这个错误没有逻辑上的原因。删除当前项目中的所有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。用户文件,项目被加载