如何更改站点的 IISExpress 端口

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

231620 次浏览

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

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

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

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

  4. 在“文件”菜单中,单击“保存选定项”。

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

如何: 为开发服务器指定端口(Archive.org备份 给你)。

使用默认端口在 IIS 中部署应用程序。尝试使用视觉工作室调试它。这是个很好的练习。如果您使用视觉工作室,它将不断更改端口号的大部分时间。因此,最好先在 IIS 中部署应用程序,然后在 Visual Studio 中打开并调试它。

右键单击 MVC 项目。转到属性。转到 Web 选项卡。
更改 ProjectUrl 中的端口号
将粗体数字50645改为其他任何数字都会改变站点运行的端口。
创建虚拟目录按钮完成该过程。

参见: http://msdn.microsoft.com/en-us/library/ms178109.ASPX

图片显示了 MVC 项目的 web 选项卡 enter image description here

这里有一个更加手动的方法,既适用于 < em > 网站 项目,也适用于 < em > 网上应用程式 项目。(您不能在 VisualStudioforSite 项目中更改项目 URL。)

Web 应用程序项目

  1. 在解决方案资源管理器中,右键单击项目并单击 卸载项目

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

    %userprofile%\Documents\IISExpress\config

    在最近的 VisualStudio 版本和 Web 应用程序项目中,此文件位于 [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" />

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

  4. 在解决方案资源管理器中,右键单击该项目并单击 重装计划

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

    • 选择 Web 选项卡。

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

    • 在“项目 URL”框的右侧,单击“创建虚拟目录”。如果您看到一条成功消息,那么您已经正确地完成了这些步骤。

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

网站项目

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

  2. 对于 Web 应用程序项目,遵循上面的步骤2。

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

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

安装了 IIS 的用户的另一个解决方案:

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

去探索者的解决方案的礼仪,然后在前面使用来自可视化工作室的 iisExpress,使之与使用您自己的 IIS。

Solution Proprieties

。网络核心

对于那些在 。网络核心中寻找这个配置的人,它位于 Properties\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 才能让它工作。

使用像记事本这样的编辑器编辑 . sln 文件

用新端口替换所有端口。

您可以首先从命令行启动 IIS Express,并给它一个带有/port: port-number 的端口 见 其他选择

如果我们谈论的是一个网站,而不是网络应用程序,我的问题是,实际上。Sln 文件夹在网站以外的其他地方,我没有注意到。寻找。然后为。(隐藏的)文件夹。

我在 VS2017上的 WCF 项目中遇到过同样的问题。当我进行调试时,它会出现诸如无法获取元数据之类的错误,但结果是端口被其他进程使用了。我从这里得到了一些信息,终于找到了港口的位置。有两个地方: 1.C: ... 到您的解决方案文件夹... . vs 配置 applicationhost.config。在内部,您可以找到您调试的站点。下,删除有端口问题的。 2. C: ... 到您的项目文件夹... ,您将看到一个 ProjectName.csproj.user 文件。删除该文件。

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

如果您只是想更改端口,因为它已经在使用中。

在视觉工作室

  1. 右键单击 ProjectNode 并选择 Unload Project
  2. 右键单击 ProjectNode 和 Edit.csproj 文件。
  3. 搜索以下标记并删除它们
<DevelopmentServerPort>62140</DevelopmentServerPort>
<DevelopmentServerVPath></DevelopmentServerVPath>
<IISUrl>http://localhost:62116/</IISUrl>
  1. Ctrl + S保存文档
  2. 右键单击 ProjectNode 并加载 Project

它将通过随机选择另一个端口来工作。

如需进一步资料,请按 点击

我用的是 VS 2019。

如果您的解决方案有多个项目/类库等,那么在单击 Solution Explorer 属性时可能看不到 Web 选项卡。

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

对于旧的网站项目,您将需要修改解决方案文件中的端口,找到类似于下面的章节,并更改“ 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

网上项目:

  1. 关闭 VisualStudio
  2. 使用文本编辑器在解决方案根目录中打开[ projectName ] . sln (如 sublime)
  3. 搜索您当前的端口号,您将发现5个实例
  4. 将它们替换为新的端口号并保存文件
  5. 在解决方案根目录中删除.vs 文件
  6. 开始视觉工作室,然后。将再次创建 vs 文件。运行网络项目,它将开始与新的端口