如何更改站点的IIS Express端口

时间:2014-01-18 10:31:29

标签: c# asp.net-mvc asp.net-mvc-4 visual-studio-2012 iis-express

我想在从Visual Studio调试时更改运行我的网站的端口号。我正在使用Visual Studio 2012,我正在使用ASP.NET MVC 4来完成我想要更改端口的项目。随机端口或固定任何人只会想改变端口。

13 个答案:

答案 0 :(得分:106)

  

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

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

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

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

  6.   
  7. 在“文件”菜单中,单击“保存所选项目”。

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

  10.   

来自How to: Specify a Port for the Development Serverarchive.org备份here)。

答案 1 :(得分:58)

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

为使用IIS Express的任何Web项目指定端口:

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

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

    %userprofile%\Documents\IISExpress\config

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

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

    将端口号(上例中的56422)更改为您想要的任何内容。 e.g:

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

    奖励:您甚至可以绑定到其他主机名并执行以下操作:

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

    然后将mysite.dev映射到127.0.0.1文件中的hosts,然后从“http://mysite.dev”打开您的网站;但是这超出了这个答案的范围,所以我不再详细介绍了)

  4. 如果您有网站项目:

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

    如果您有 Web应用程序项目:

    在解决方案资源管理器中,右键单击解决方案,选择“添加”,然后选择现有项目... ,浏览并选择Web应用程序的项目文件。然后:

    • 在“解决方案资源管理器”中,右键单击项目名称,然后选择“属性”。单击Web选项卡。

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

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

    • 在“文件”菜单中,单击“保存所选项目”。

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

答案 2 :(得分:12)

右键单击您的MVC项目。转到“属性”。转到Web选项卡 更改项目URL中的端口号。例。 本地主机:的 50645
将粗体数字50645更改为其他任何内容都将更改网站运行的端口 按创建虚拟目录按钮完成此过程。

另请参阅:http://msdn.microsoft.com/en-us/library/ms178109.ASPX

图像显示了MVC项目的Web选项卡 enter image description here

答案 3 :(得分:10)

.Net Core

对于那些在 .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才能使其正常工作。

答案 4 :(得分:2)

安装IIS的人的另一个修复:

在IIS服务器上创建路径,并在那里分配您的网站/应用程序。

转到探险家解决方案的各个部分,然后在使用视觉工作室的iisexpress之前,使用你个人自己的IIS。

Solution Proprieties

答案 5 :(得分:1)

您可以先从命令行启动IIS express,并为其指定一个带/ port:port-number的端口 见other options

答案 6 :(得分:1)

对于旧的网站项目,您需要在解决方案文件中修改端口,找到类似于下面的部分并更改“VWDPort”属性

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "My Website", "My Website\", "{871AF49A-F0D6-4B10-A80D-652E2411EEF3}"
    ProjectSection(WebsiteProperties) = preProject
        SccProjectName = "<Project Location In Database>"
        SccAuxPath = "<Source Control Database>"
        SccLocalPath = "<Local Binding Root of Project>"
        SccProvider = "Mercurial Source Control Package"
        TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.7.2"
        ProjectReferences = "{41176de9-0c21-4da1-8532-4453c9cbe289}|My.CommonLibrary.dll;{f1fda4e5-0233-458e-97b8-381bdb38a777}|My.Ajax.dll;{e756176c-9cd1-4dac-9b2d-9162b7554c70}|My.WEB.API.Domain.dll;{7A94A6C8-595B-43CF-9516-48FF4D8B8292}|My.WEB.API.Common.dll;{790654F2-7339-472C-9A79-9E36837571A0}|My.Api.dll;{25aa245b-89d9-4d0c-808d-e1817eded876}|My.WEB.API.DAL.dll;{cc43d973-6848-4842-aa13-7751e655966d}|My.WEB.API.BLL.dll;{41591398-b5a7-4207-9972-5bcd693a9552}|My.FacialRecognition.dll;"
        Debug.AspNetCompiler.VirtualPath = "/My Website"
        Debug.AspNetCompiler.PhysicalPath = "My Website\"
        Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\My Website\"
        Debug.AspNetCompiler.Updateable = "true"
        Debug.AspNetCompiler.ForceOverwrite = "true"
        Debug.AspNetCompiler.FixedNames = "false"
        Debug.AspNetCompiler.Debug = "True"
        Release.AspNetCompiler.VirtualPath = "/My Website"
        Release.AspNetCompiler.PhysicalPath = "My Website\"
        Release.AspNetCompiler.TargetPath = "PrecompiledWeb\My Website\"
        Release.AspNetCompiler.Updateable = "true"
        Release.AspNetCompiler.ForceOverwrite = "true"
        Release.AspNetCompiler.FixedNames = "false"
        Release.AspNetCompiler.Debug = "False"
        VWDPort = "3883"
        SlnRelativePath = "My Website\"
    EndProjectSection
    ProjectSection(ProjectDependencies) = postProject
        {C3A75E14-1354-47CA-8FD6-0CADB80F1652} = {C3A75E14-1354-47CA-8FD6-0CADB80F1652}
    EndProjectSection
EndProject

答案 7 :(得分:0)

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

答案 8 :(得分:0)

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

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

答案 9 :(得分:0)

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

在Visual Studio中

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

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

有关更多信息。请click

答案 10 :(得分:0)

我正在使用VS 2019。

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

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

答案 11 :(得分:-4)

使用记事本等编辑器修改 .sln文件

用新端口替换所有端口。

答案 12 :(得分:-8)

使用默认端口在IIS中部署应用程序。尝试使用visual studio调试它。这是一个很好的做法。如果你使用visual studio,它会在大多数时间内不断更改端口号。所以最好先在IIS中部署应用程序,然后在visual studio中打开它并调试它。