6

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

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

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

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

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

4

6 回答 6

10

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

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

于 2018-05-08T00:17:40.053 回答
4

不久前想出了一个解决方案,但忘记在这里发布答案,以防万一其他人有一天偶然发现了这个问题。

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

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

于 2013-04-11T18:38:15.623 回答
4

将网站从 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。我相信它假设 localhost 意味着 IIS 在端口 80 上。

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

于 2013-10-03T14:15:09.623 回答
2

我在 VS2013 中打开项目时遇到了这个问题,但在 VS2012 中仍然没有问题。我能够通过执行以下操作来解决问题:

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

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

另外,我删除了以下行:

<DevelopmentServerPort>81</DevelopmentServerPort>
于 2015-04-30T11:59:19.820 回答
0

这是我猜的一个视觉工作室错误,这个错误没有逻辑上的原因。删除当前项目中的所有 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>
于 2018-08-24T13:21:26.457 回答
0

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

于 2020-08-09T06:08:17.343 回答