如何更改站点的IIS Express端口


109

从Visual Studio调试时,我想更改运行我的网站的端口号。我正在使用Visual Studio 2012,并且正在为要更改端口的项目使用ASP.NET MVC 4。随机端口或固定的任何人都可以工作,只是想更改端口。

Answers:


128

为使用IIS Express的Web应用程序项目指定端口

  1. 在解决方案资源管理器中,右键单击该应用程序的名称,然后选择“属性”。单击Web选项卡。

  2. 在“服务器”部分的“使用本地IIS Web服务器”下的“项目URL”框中,更改端口号。

  3. 在“项目URL”框的右侧,单击“创建虚拟目录”,然后单击“确定”。

  4. 在文件菜单上,单击保存所选项目。

  5. 要验证更改,请按CTRL + F5运行项目。新的端口号出现在浏览器的地址栏中。

从“ 如何:指定开发服务器的端口”此处archive.org备份)。


14
这不适用于网站。仅用于Web应用程序项目。
Supersharp'3

2
这里没有Web选项卡...您会认为在2017年,这将不再是一个问题。。至少,我们应该能够更改端口而不必做魔术
calcazar

Visual Studio 2015不存在选项(ASP.NET空网站)..如何制作?
KingRider

除了单击“创建虚拟目录”按钮外,我一直在做所有这些事情。这样做会有所不同;现在可以了。但是为什么有必要呢?
Rod

好的,如果这样做,您将不再使用IIS Express,而是使用本地IIS。因此,只需转到“项目属性”中的“ Web”选项卡,然后将端口编辑为所需的端口即可。
VladT

68

这是一种适用于网站项目和Web应用程序项目的更手动的方法。(您不能在Visual Studio for Website项目中更改项目URL。)

网络应用项目

  1. 在解决方案资源管理器中,右键单击该项目,然后单击“ 卸载项目”

  2. 导航到IIS Express ApplicationHost.config文件。默认情况下,此文件位于:

    %userprofile%\Documents\IISExpress\config

    在最新的Visual Studio版本和Web应用程序项目中,此文件位于solution文件夹下的位置[Solution Dir]\.vs\config\applicationhost.config(请注意,.vs文件夹为隐藏项)

  3. 在文本编辑器中打开ApplicationHost.config文件。在此<sites>部分中,搜索您的站点名称。在<bindings>您网站的部分中,您将看到类似以下的元素:

    <binding protocol="http" bindingInformation="*:56422:localhost" />

    将端口号(在上面的示例中为56422)更改为所需的任何值。例如:

    <binding protocol="http" bindingInformation="*:44444:localhost" />

    奖励:您甚至可以绑定到不同的主机名,并做一些很酷的事情,例如:

    <binding protocol="http" bindingInformation="*:80:mysite.dev" />

    然后映射mysite.dev127.0.0.1您的hosts文件中,然后从“ http://mysite.dev ” 打开您的网站

  4. 在解决方案资源管理器中,右键单击项目,然后单击“ 重新加载项目”

  5. 在解决方案资源管理器中,右键单击该项目,然后选择“属性”。

    • 选择“ Web”选项卡。

    • 在“服务器”部分的“使用本地IIS Web服务器”下的“项目URL”框中,输入一个URL,以匹配您之前从ApplicationHost.config文件中输入的主机名和端口。

    • 在“项目URL”框的右侧,单击“创建虚拟目录”。如果看到成功消息,则说明您已正确完成了步骤。

    • 在文件菜单上,单击保存所选项目。

网站项目

  1. 在解决方案资源管理器中,右键单击项目名称,然后单击“ 删除”或“ 删除”;不用担心,这将从您的解决方案中删除该项目,但不会删除磁盘上的相应文件。

  2. 对于Web应用程序项目,请执行上述步骤2。

  3. 在解决方案资源管理器中,右键单击解决方案,选择“添加”,然后选择“ 现有网站...”。在“添加现有网站”对话框中,确保已选择“本地IIS”选项卡。在“ IIS Express站点”下,选择已更改端口号的站点,然后单击“确定”。

现在,您可以从新的主机名/端口访问您的网站。


1
太棒了,正是您所需要的。不得不到处寻找工作港口,但这确实成功了,谢谢。
hobwell 2014年

1
感谢Saeb。这很完美。只是需要注意的一点...我正在使用源代码管理,并且在添加我的网站项目后,我不得不转到“文件”>“源代码管理”>“高级”>“更改源代码管理”,然后将项目重新绑定到我的源代码管理服务器。这仅意味着在列表中选择项目,然后单击“刷新”旁边的“绑定”按钮。感谢您的出色回答。
德克·施特劳斯

2
好的答案-您可以选择“卸载项目”,而不是“右键单击项目名称,然后单击“删除或删除”,然后再次编辑applicationhost.config,我的位置是“ <我的解决方案(.sln)的路径”文件> \。vs \ config \ applicationhost.config”(请注意,.vs文件夹是隐藏项目,因此请选择在文件浏览器中显示隐藏文件的选项)
Paul Gorbas 2016年

1
@PaulGorbas很高兴它对您有所帮助。请注意,你不能“卸载” 的网站,只适用于Web应用程序。
Saeb Amini

2
如何使此功能适用于自定义SSL端口?对于除60233以外的任何端口,我在Internet Explorer中收到“无法显示此页面”,在其他Web浏览器中收到类似消息。Windows 7在哪里指定SSL端口?
MiloDC

18

.Net核心

对于那些到这里寻找.Net核心中的配置的人来说,它位于lauchSettings.json。只需在属性中编辑端口"applicationUrl"

该文件应如下所示:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:53950/", //Here
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "index.html",
      "environmentVariables": {
        "Hosting:Environment": "Development"
      },
    }
  }
}

或者,您可以通过双击项目的“属性”来使用GUI。

注意:我必须重新打开VS才能使其正常工作。


1
辉煌的答案。重新启动VS对我有用。显然,BitDefender的ProductAgentService.exe服务使用的端口50151与IIS Express的默认端口冲突。
Silkfire '17

5
SSL端口限制为44300-44399。可能很高兴知道。
FatAlbert


4

如果仅由于端口已在使用而要更改端口。请遵循以下步骤。

在Visual Studio中

  1. 右键单击项目节点并卸载项目
  2. 右键单击项目节点,然后编辑.csproj文件。
  3. 搜索以下标签并将其删除
<DevelopmentServerPort>62140</DevelopmentServerPort>
<DevelopmentServerVPath></DevelopmentServerVPath>
<IISUrl>http://localhost:62116/</IISUrl>
  1. 按Ctrl + S保存文档
  2. 右键单击项目节点并加载项目

通过随机选择另一个端口即可工作。

了解更多信息。请点击


2

对于已安装IIS的用户的另一个修复程序:

在IIS服务器上创建路径,然后在其中分配您的网站/应用程序。

转到资源管理器解决方案的特性,然后在使用Visual Studio的iisexpress之前,让vs使用您自己的IIS。

解决方案属性



2

如果我们谈论的是WebSite,而不是Web应用程序,那么我的问题是实际的.sln文件夹位于网站之外的其他位置,并且我没有注意到。寻找.sln路径,然后寻找那里的.vs(隐藏)文件夹。


0

我在VS2017上的WCF项目上遇到了同样的问题。当我调试时,它会给出无法获取元数据的错误,但事实证明该端口已被其他进程使用。我从这里有了一些想法,最后弄清楚了港口的位置。有2个位置:1. C:...到您的解决方案文件夹.... vs \ config \ applicationhost.config。在内部,您可以找到要调试的站点。在下,删除有端口问题。2. C:...到您的项目文件夹... \,您将看到一个包含ProjectName.csproj.user的文件。删除该文件。

因此,关闭解决方案,删除上面提到的和用户文件,然后重新打开解决方案,VS将为该站点找到另一个合适的端口。


0

我正在使用VS 2019。

如果您的解决方案具有多个项目/类库等,则单击“解决方案资源管理器”属性时,可能看不到“ Web”选项卡。

单击MVC项目,然后检查属性,将显示Web选项卡,您可以在其中更改端口。


-2

使用记事本之类的编辑器编辑.sln文件

用新端口替换所有端口。


如果您在VS2019中使用旧样式的Web站点项目(例如,用于ASP Classic文件),则这是一个有效的解决方案。您必须编辑解决方案文件,因为没有其他属性页。我的项目在sln文件中看起来像这样。Project(“ {E24C65DC-7377-472B-9ABA-BC803B73C61A}”)=“ MyWebSitePrj”,“ localhost:50194 ”,“ {BC30BA4B-1D1D-48D0-B1E8-86CBD64611B5}”
Brad Irby

-6

使用默认端口在IIS中部署应用程序。尝试使用Visual Studio对其进行调试。这是一个好习惯。如果您使用Visual Studio,则大多数情况下它将不断更改端口号。因此,最好先在IIS中部署应用程序,然后在Visual Studio中打开该应用程序并对其进行调试。


亲爱的马克,我认为您没有仔细阅读问题!
Mohit

1
此外,直接针对IIS开发也不是一个好习惯。此MSDN文章介绍了在开发时应何时使用IISExpress,IIS或外部服务器。msdn.microsoft.com/zh-CN/library/58wxa9w5(v=vs.120).aspx
Itanex 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.