Asp.net 由于端口小于1024,无法打开包含网站的解决方案?
我最近不得不将我的解决方案重新映射到一个新目录,在visual studio 2010中尝试重新加载解决方案时,我收到错误消息: “无法打开网站‘http://localhost/XXX’。必须在管理员帐户的上下文中运行Visual Studio才能创建端口小于1024的IIS Express网站。” 这很奇怪,因为据我所知,解决方案文件中定义的端口远高于端口1024。我能找到的唯一建议是在VS中打开解决方案(有趣的小陷阱22,对吗?) 在我重新映射并从TFS重新下载解决方案之前,该解决方案已经运行Asp.net 由于端口小于1024,无法打开包含网站的解决方案?,asp.net,visual-studio-2010,Asp.net,Visual Studio 2010,我最近不得不将我的解决方案重新映射到一个新目录,在visual studio 2010中尝试重新加载解决方案时,我收到错误消息: “无法打开网站‘http://localhost/XXX’。必须在管理员帐户的上下文中运行Visual Studio才能创建端口小于1024的IIS Express网站。” 这很奇怪,因为据我所知,解决方案文件中定义的端口远高于端口1024。我能找到的唯一建议是在VS中打开解决方案(有趣的小陷阱22,对吗?) 在我重新映射并从TFS重新下载解决方案之前,该解决方案已经
这是在远程应用程序中,因此我没有权限以管理员身份实际运行VS。不久前想出了一个解决方案,但忘了在此处发布答案,以防有人有一天偶然发现 如果打开包含项目的解决方案文件,则需要删除引用相关网站的任何“localhost”实例。这似乎奏效了
我的猜测是VS看到了“localhost”,并假设您正试图在本地计算机上实际打开一个站点,或将其绑定到该地址。这可以解释端口错误。在将网站从VS2005升级到VS2012后,我遇到了这个错误。是正确的,但我正在添加一些支持细节 该站点在VS 2005 sln文件中声明如下:
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "C:\...\EMR\", "EMR", "{6E950F28-C219-492C-B9A3-5480D70475FB}"
VS 2012在升级到参考本地主机期间对其进行了更改:
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}"
这允许加载解决方案,但此时站点无法运行;studio抱怨您需要管理员权限才能使用<1024个端口。我相信它假设localhost意味着端口80上的IIS
在项目定义和源代码管理部分中手动将路径重命名为“\EMR”,使站点可以像在VS2005中一样运行。我在VS2013中打开项目时遇到了这个问题,但在VS2012中仍然没有问题。我通过以下操作解决了此问题: 在文本编辑器中打开项目文件,并更改项目文件中的以下行:
<AutoAssignPort>False</AutoAssignPort> -> <AutoAssignPort>True</AutoAssignPort>
False->True
此外,我删除了以下行:
<DevelopmentServerPort>81</DevelopmentServerPort>
81
更新Visual Studio 2017后,我遇到了同样的问题。我打开了每个受影响的项目文件,删除了IISUrl中的内容,项目重新正确加载。奇怪,因为UseIISExpress和UseIIS都设置为False
我还尝试了typetrice的解决方案,它也起了作用。这是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>
真的
真的
/
http://localhost/XXXXX
真的
假的
假的
在我的例子中:删除csproj.user文件后,项目被加载。消息说以管理员身份打开它。右键单击Visual Studio快捷方式并选择“以管理员身份运行”。然后,转到“项目设置”并更正端口。不幸的是,我正在远程应用程序中运行此程序,无法以管理员身份运行。这是网站项目还是web应用程序项目?祝你好运。我正要告诉您编辑项目文件,但是没有,所以…自从从Visual Studio 2017 15.6更新到15.7以来,我看到了同样的事情。这里描述的变通方法是有效的。我已经向微软报告了这一点:我认为这仍然是根本性的突破。我们使用DevelopmentServerPort
根据开发人员是否使用本地IIS或IIS Express有条件地更改所使用的URL。现在,此端口被忽略,IIS Express尝试在已定义的IISUrl
上注册主机。这在VS2017版本15.7中被破坏,然后在15.7.2中修复。