Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 由于端口小于1024,无法打开包含网站的解决方案?_Asp.net_Visual Studio 2010 - Fatal编程技术网

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

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重新下载解决方案之前,该解决方案已经

我最近不得不将我的解决方案重新映射到一个新目录,在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中修复。