How can I change IIS Express port for a site

C#asp.net Mvcasp.net Mvc-4Visual Studio-2012Iis Express

C# Problem Overview


I want to change the port number on which my website runs while debugging from Visual Studio. I am using Visual Studio 2012, and I am using ASP.NET MVC 4 for my projects I want to change the port. Random port or fixed anyone will work just want to change the port.

C# Solutions


Solution 1 - C#

> To specify a port for a Web application project that uses IIS Express

> 1. In Solution Explorer, right-click the name of the application and then select Properties. Click the Web tab.

> 2. In the Servers section, under Use Local IIS Web server, in the Project URL box change the port number.

> 3. To the right of the Project URL box, click Create Virtual Directory, and then click OK.

> 4. In the File menu, click Save Selected Items.

> 5. To verify the change, press CTRL+F5 to run the project. The new port number appears in the address bar of the browser.

From How to: Specify a Port for the Development Server (archive.org backup here).

Solution 2 - C#

Here's a more manual method that works both for Website projects and Web Application projects. (you can't change the project URL from within Visual Studio for Website projects.)

Web Application projects

  1. In Solution Explorer, right-click the project and click Unload Project.

  2. Navigate to the IIS Express ApplicationHost.config file. By default, this file is located in:

    %userprofile%\Documents\IISExpress\config

    In recent Visual Studio versions and Web Application projects, this file is in the solution folder under [Solution Dir]\.vs\config\applicationhost.config (note the .vs folder is a hidden item)

  3. Open the ApplicationHost.config file in a text editor. In the <sites> section, search for your site's name. In the <bindings> section of your site, you will see an element like this:

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

    Change the port number (56422 in the above example) to anything you want. e.g.:

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

    Bonus: You can even bind to a different host name and do cool things like:

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

    and then map mysite.dev to 127.0.0.1 in your hosts file, and then open your website from "http://mysite.dev"

  4. In Solution Explorer, right-click the the project and click Reload Project.

  5. In Solution Explorer, right-click the the project and select Properties.

    • Select the Web tab.

    • In the Servers section, under Use Local IIS Web server, in the Project URL box enter a URL to match the hostname and port you entered in the ApplicationHost.config file from before.

    • To the right of the Project URL box, click Create Virtual Directory. If you see a success message, then you've done the steps correctly.

    • In the File menu, click Save Selected Items.

Website projects

  1. In Solution Explorer, right-click the project name and then click Remove or Delete; don't worry, this removes the project from your solution, but does not delete the corresponding files on disk.

  2. Follow step 2 from above for Web Application projects.

  3. In Solution Explorer, right-click the solution, select Add, and then select Existing Web Site.... In the Add Existing Web Site dialog box, make sure that the Local IIS tab is selected. Under IIS Express Sites, select the site for which you have changed the port number, then click OK.

Now you can access your website from your new hostname/port.

Solution 3 - C#

.Net Core

For those who got here looking for this configuration in .Net core this resides in the Properties\lauchSettings.json. Just edit the port in the property "applicationUrl".

The file should look something like this:

{
  "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"
      },
    }
  }
}

Or you can use the GUI by double clicking in the "Properties" of your project.

Note: I had to reopen VS to make it work.

Solution 4 - C#

Right click on your MVC Project. Go to Properties. Go to the Web tab.
Change the port number in the Project Url. Example. localhost:50645
Changing the bold number, 50645, to anything else will change the port the site runs under.
Press the Create Virtual Directory button to complete the process.

See also: http://msdn.microsoft.com/en-us/library/ms178109.ASPX

Image shows the web tab of an MVC Project enter image description here

Solution 5 - C#

If you just want to change the port because it is already in use. Follow the following steps.

In Visual studio

  1. Right-click on Project Node and select Unload Project
  2. Right-click on Project Node and Edit .csproj file.
  3. Search for the following tags and remove them

> 62140 > > http://localhost:62116/</IISUrl>

  1. press Ctrl + S to save the document
  2. Right-click on Project Node and load Project

It will work by selecting another port randomly.

For further information. please click

Solution 6 - C#

Another fix for those who have IIS Installed:

Create a path on the IIS Server, and allocate your website/app there.

Go to propieties of the solution of the explorer, then in front of using the iisexpress from visual studio, make that vs uses your personal own IIS.

Solution Proprieties

Solution 7 - C#

You can first start IIS express from command line and give it a port with /port:port-number see other options.

Solution 8 - C#

If we are talking about a WebSite, not web app, my issue was that the actual .sln folder was somewhere else than the website, and I had not noticed. Look for the .sln path and then for the .vs (hidden) folder there.

Solution 9 - C#

For old Website projects you will need to modify port in solution file, find section similar to below and change "VWDPort" property

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

Solution 10 - C#

For web projects:

  1. Close Visual Studio
  2. Open [projectName].sln in solution root directory using a text editor (like sublime)
  3. Search your current port number you will find 5 instances
  4. Replace them with new port number and save file
  5. Delete .vs file in the solution root directory
  6. Start visual studio then the .vs file will be created again. run the web project it will start with new port

Solution 11 - C#

I'd the same issue on a WCF project on VS2017. When I debug, it gives errors like not able to get meta data, but it turns out the port was used by other process. I got some idea from here, and finally figure out where the port was kept. There are 2 places:

  1. C:...to your solution folder....vs\config\applicationhost.config. Inside, you can find the site that you debug. Under , remove the that has port issue.
  2. C:...to your project folder..., you will see a file with ProjectName.csproj.user. Remove this file.

So, close the solution, remove the and the user file mentioned above, then reopen the solution, VS will find another suitable port for the site.

Solution 12 - C#

I'm using VS 2019.

if your solution has more than one project / class libraries etc, then you may not see the Web tab when clicking on Solution explorer properties.

Clicking on the MVC project and then checking properties will reveal the web tab where you can change the port.

Solution 13 - C#

Edit .sln file using an editor like notepad.

Replace All Ports With New Port.

Solution 14 - C#

Deploy your application in the IIS with the default port. Try to debug it using visual studio. It's a good practice. If you use visual studio, it will keep changing the port number most of the time. So better deploy the application in the IIS first and Open the same in visual studio and Debug it.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMohitView Question on Stackoverflow
Solution 1 - C#hutchonoidView Answer on Stackoverflow
Solution 2 - C#Saeb AminiView Answer on Stackoverflow
Solution 3 - C#fabriciorissettoView Answer on Stackoverflow
Solution 4 - C#Ashley MedwayView Answer on Stackoverflow
Solution 5 - C#CharlieView Answer on Stackoverflow
Solution 6 - C#AlexView Answer on Stackoverflow
Solution 7 - C#John HenckelView Answer on Stackoverflow
Solution 8 - C#SentinelView Answer on Stackoverflow
Solution 9 - C#user7313094View Answer on Stackoverflow
Solution 10 - C#AminFarajzadehView Answer on Stackoverflow
Solution 11 - C#HukyView Answer on Stackoverflow
Solution 12 - C#ShaakirView Answer on Stackoverflow
Solution 13 - C#aDDinView Answer on Stackoverflow
Solution 14 - C#WikiView Answer on Stackoverflow