由于端口小于1024,无法打开包含网站的解决方案?

时间:2013-03-14 19:31:40

标签: asp.net visual-studio-2010

我最近不得不将我的解决方案重新映射到新目录,在尝试在visual studio 2010中重新加载解决方案时,我收到错误消息:

  

“无法打开网站'http:// localhost / XXX'。您必须在管理员帐户的上下文中运行Visual Studio才能创建端口小于1024的IIS Express站点。”

这很奇怪,因为据我所知,解决方案文件中定义的端口远高于端口1024.我能找到的唯一建议是要求我在VS中打开解决方案(搞笑小抓22对吗?)

在重新映射并从TFS重新下载解决方案之前,解决方案已经有效。

这是在远程应用程序中,因此我无权以管理员身份实际运行VS.

6 个答案:

答案 0 :(得分:8)

更新Visual Studio 2017后,我遇到了同样的问题。我打开了每个受影响的项目文件并删除了 IISUrl 中的内容,项目正确重新加载。很奇怪,因为 UseIISExpress UseIIS 都设置为False。

我也试过了typetrice的解决方案,它也有效。

答案 1 :(得分:3)

前一段时间找出一个解决方案,但忘记在这里发布答案,以防其他人偶然发现这一天。

如果打开包含项目的解决方案文件,则需要删除引用相关网站的“localhost”实例。这似乎可以解决问题。

我的猜测是VS看到'localhost'并假设您正在尝试在本地计算机上实际打开一个站点,或者将其绑定到该地址。这可以解释端口错误。

答案 2 :(得分:3)

将网站从VS 2005升级到VS 2012后出现此错误。cDecker32's answer是正确的,但我正在添加一些支持细节......

该站点在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.我认为它假设localhost意味着端口80上的IIS。

在项目定义和源代码管理部分中手动将路径重命名为“\ EMR”,允许该站点像在VS 2005中一样运行。

答案 3 :(得分:3)

我在VS2013中打开项目时出现此问题,但在VS2012中仍然没有问题。通过执行以下操作,我能够解决问题:

在文本编辑器中打开项目文件,并更改项目文件中的以下行:

<AutoAssignPort>False</AutoAssignPort> -> <AutoAssignPort>True</AutoAssignPort>

另外,我删除了以下行:

<DevelopmentServerPort>81</DevelopmentServerPort>

答案 4 :(得分:0)

我猜这是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>

答案 5 :(得分:0)

在我的情况下:删除csproj.user文件后,将加载项目。