在Visual Studio 2013中更改项目端口号

44

如何在Visual Studio 2013中更改项目的端口号?
我正在使用ASP.Net,并且需要在Visual Studio 2013中调试时更改端口号。

9个回答

55
在VS中,ASP.NET项目有两种类型:

Web应用程序项目(通常具有.csproj或.vbproj文件来存储这些设置)在项目下有一个属性节点。 在“Web”选项卡上,您可以配置项目的URL(假设使用IIS Express或IIS)以使用任何端口,并且只需单击“创建虚拟目录”按钮即可。 这些设置将保存到项目文件中:

<ProjectExtensions>
  <VisualStudio>
    <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
      <WebProjectProperties>
       <DevelopmentServerPort>10531</DevelopmentServerPort>
       ...
     </WebProjectProperties>
    </FlavorProperties>
  </VisualStudio>
</ProjectExtensions>

网站项目有所不同。它们没有用于存储设置的 .*proj 文件;而是将设置保存在 solution 文件中。在 VS2013 中,设置看起来像这样:

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "WebSite1(1)", "http://localhost:10528", "{401397AC-86F6-4661-A71B-67B4F8A3A92F}"
    ProjectSection(WebsiteProperties) = preProject
        UseIISExpress = "true"
        TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.5"
        ...
        SlnRelativePath = "..\..\WebSites\WebSite1\"
        DefaultWebSiteLanguage = "Visual Basic"
    EndProjectSection
EndProject

由于项目是通过 URL(包括端口)标识的,因此在 VS UI 中没有更改此设置的方法。但您应该能够修改解决方案文件,并使其正常工作。


2
注意:此方法可行,但必须以管理员身份运行Visual Studio才能打开端口小于1000的网站。另外,请注意上面Project("")标签示例中url的位置。默认情况下,我只有Web项目的名称,而没有启动url,因此乍一看并不明显。 - ExcaliburVT
我不明白,我只是以管理员身份运行Visual Studio 2013,然后打开.sln解决方案文件,VS属性显示与Visual Studio 2012配置的完全相同的端口,然后一切正常工作。 - Alexsandro
我在我的网络上有一个网站项目,当我更改设置时,Visual Studio不会使用它们。 它是否创建了本地临时sln文件? - Fortin

26

右键点击Web应用程序,选择“属性”

应该有一个“Web”选项卡,在那里指定了 http://localhost:XXXXX - 更改端口号,这将修改配置以使用您的新端口号。

我通常从10000开始,每个Web应用程序递增1,以尝试避开其他应用程序和端口号。


4
谢谢,但它被禁用了,我无法更改它。我怎么能改变它? - Bengi Besçeli
它在运行吗?(网站)- 首先关闭所有IIS Express实例并停止调试进程。 - SpaceBison
2
好的,这里有更详细的说明:http://msdn.microsoft.com/en-us/library/ms178109.ASPX - 没有看到你所看的内容,对我来说很棘手!如果你仍然遇到困难,请尝试按照该MSDN文章中的建议进行操作 - 那里有四个建议 - 确保你能够确定其中哪一个是正确的。 - SpaceBison
1
它真的没有太多改变-这里有一个2013版本,详细介绍如何获取和使用IIS Express,我建议这样做... http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx - SpaceBison

10

嗯,我根本找不到这个(对我来说)神秘的“使用动态端口”选项。我已经发布了截图。

enter image description here

更具建设性的是,我认为端口号可以在解决方案文件中找到,并且至关重要的是要与IIS Express配置文件进行交叉引用。

C:\Users\<username>\Documents\IISExpress\config\applicationhost.config

我尝试仅在解决方案文件中编辑端口号,但发生了奇怪的事情。我建议(暂时没有时间)需要在解决方案文件和配置文件中进行一致的编辑。

10

对我来说(网站项目)这个问题一直很难解决,直到我找到了以下步骤的解决方案,这将@Jimmy提供的解决方案与检查来自源代码控制的解决方案结合在一起。

步骤:(如果使用 VS2013+ 与网站项目源代码控制

  1. 仅从源代码控制中检出解决方案文件(这可能有点棘手。最简单的方法是在解决方案文件属性/设置中进行小修改,然后必要时撤消该操作)
  2. 在资源管理器中找到解决方案文件(例如 solution.sln),并在文本编辑器中打开。
  3. 找到条目:VWDPort = ...... 并更改为所需的端口:(例如:"60000" - 取决于您的 IISExpress 设置)
  4. 保存更改(会提示重新加载解决方案)

不错,谢谢Danidev!打开一个.sln文件来搜索VWDPort并更改端口,工作得很好。我使用的是VS 2015。 - KingRider

7
  • 以可编辑模式(记事本、notepad++或其他工具)打开解决方案文件(.sln)
  • 查找标签名称VMDPort并将其更新为您所需的端口。

请看下面的快照。

enter image description here


1
这仅适用于Web Site项目,而不是Web应用程序。但它有效。正如其他人在其他地方所做的那样,我也更改了所有其他端口号的提及(TargetPath、VirtualPath)。此外,我必须退出Visual Studio,而不仅仅是关闭解决方案,才能使其工作。这是在VS 2019 16.9.2上完成的。 - Josh Gallagher

2

指定 ASP.NET 开发服务器的端口

  • 在“解决方案资源管理器”中,单击应用程序的名称。

  • 在“属性”窗格中,单击“使用动态端口”旁边的向下箭头,并从下拉列表中选择“False”。

  • 这将启用“端口号”属性的编辑。

  • 在“属性”窗格中,单击“端口号”旁边的文本框并输入端口号。单击“属性”窗格之外的区域。这样可以保存属性设置。

  • 每次在 Visual Web Developer 中运行文件系统 Web 站点时,ASP.NET 开发服务器将在指定的端口上侦听。

希望这可以帮助您。


7
感谢您的反馈,但是我的 Visual Studio 2013 没有名为“使用动态端口”的属性。 - Bengi Besçeli

1
“Visual Studio开发服务器”选项仅适用于在Visual Studio中运行(测试)Web项目时。生产Web应用程序始终在IIS下运行。
要为Web站点项目指定Web服务器,请执行以下操作:
1. 在“解决方案资源管理器”中,右键单击要指定Web服务器的Web站点项目名称,然后单击“属性页”。
2. 在“属性页”对话框中,单击“启动选项”选项卡。
3. 在“服务器”下,单击“使用自定义服务器”。
4. 在“基本URL”框中,输入Visual Studio在运行当前项目时应该启动的URL。
注意:如果指定远程服务器的URL(例如,在另一台计算机上的IIS Web应用程序),请确保远程服务器至少运行.NET Framework版本2.0。
要为Web应用程序项目指定Web服务器:
在解决方案资源管理器中,右键单击您要指定 Web 服务器的 Web 应用程序项目的名称,然后单击“属性”。在“属性”窗口中,单击“Web”选项卡。在“服务器”下,单击“使用 Visual Studio 开发服务器”或“使用本地 IIS Web 服务器”或“使用自定义 Web 服务器”。如果您单击了“使用本地 IIS Web 服务器”或“使用自定义 Web 服务器”,请在“基本 URL”框中输入 Visual Studio 运行当前项目时应启动的 URL。

注意:如果您单击“使用自定义 Web 服务器”并指定远程服务器的 URL(例如,另一台计算机上的 IIS Web 应用程序),请确保远程服务器至少运行 .NET Framework 版本 2.0。
(来源:https://msdn.microsoft.com/zh-cn/library/ms178108.aspx

0

解决此问题的步骤:

  1. 打开解决方案文件。
  2. 查找针对您项目名称的端口标记。
  3. 分配任何不同的端口作为当前端口。
  4. 右键单击您的项目并选择“属性页”。
  5. 单击“启动选项”选项卡,选中“启动URL:”选项。
  6. 在“启动URL:”选项前面指定启动URL,例如:
    localhost:8080/login.aspx

0

在尝试了上述几种方法后,这是唯一有效的解决方案。 切换到您的c:\users文件夹并搜索.sln,然后删除所有带有您的项目名称的.sln文件。 然后重新启动计算机并重建解决方案(F5),它就可以工作了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接