Як я можу змінити порт IIS Express для сайту


109

Я хочу змінити номер порту, на якому працює мій веб-сайт, під час налагодження з Visual Studio. Я використовую Visual Studio 2012, і я використовую ASP.NET MVC 4 для своїх проектів, я хочу змінити порт. Випадковий порт або фіксований хтось буде працювати просто хочу змінити порт.

Відповіді:


128

Щоб вказати порт для проекту веб-додатків, який використовує IIS Express

  1. У Провіднику рішень клацніть правою кнопкою миші назву програми та виберіть Властивості. Перейдіть на вкладку Веб.

  2. У розділі Сервери у розділі Використовувати локальний веб-сервер IIS у полі URL-адреси проекту змініть номер порту.

  3. Праворуч від поля URL-адреси проекту виберіть команду Створити віртуальний каталог та натисніть кнопку ОК.

  4. У меню Файл натисніть Зберегти вибрані елементи.

  5. Щоб підтвердити зміну, натисніть CTRL + F5, щоб запустити проект. Новий номер порту відображається в адресному рядку браузера.

З Як: Вкажіть порт для сервера розвитку ( резервна копія archive.org тут ).


14
Це не працює для веб-сайтів. Тільки для проектів веб-додатків.
Supersharp

2
Тут немає жодної веб-вкладки ... Ви б подумали, що в 2017 році це вже не буде проблемою. Це, або, принаймні, ми повинні мати можливість змінювати порти, не роблячи магії
calcazar

Visual Studio 2015 не існує опції (ASP.NET Порожній веб-сайт) .. як зробити?
KingRider

Я робив усе це, крім натискання кнопки Створити віртуальний каталог. Це зробило різне; тепер це працює. Але для чого це потрібно?
Род

Ну якщо ви це зробите, ви вже не використовуєте IIS Express, а локальний IIS. Тому просто перейдіть на вкладку Веб у Властивості проекту та відредагуйте порт на все, що вам потрібно.
ВладТ

68

Ось більш ручний метод, який працює як для проектів веб- сайтів, так і для проектів веб-додатків . (ви не можете змінити URL-адресу проекту з Visual Studio для веб-проектів.)

Проекти веб-додатків

  1. У Провіднику рішень клацніть правою кнопкою миші проект та натисніть Розвантажити проект .

  2. Перейдіть до файлу IIS Express ApplicationHost.config . За замовчуванням цей файл знаходиться у:

    %userprofile%\Documents\IISExpress\config

    В останніх версіях Visual Studio та проектах веб-додатків цей файл знаходиться в папці рішення в розділі [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.devщоб 127.0.0.1в вашому hostsфайлі, а потім відкрити свій сайт від « http://mysite.dev »

  4. У Провіднику рішень клацніть правою кнопкою миші проект та натисніть Перезавантажити проект .

  5. У Провіднику рішень клацніть правою кнопкою миші проект та виберіть Властивості.

    • Виберіть вкладку Веб.

    • У розділі Сервери у розділі Використовувати локальний веб-сервер IIS у полі URL-адреси проекту введіть URL-адресу, щоб відповідати імені хоста та порту, який ви ввели у файл ApplicationHost.config раніше.

    • Праворуч від поля URL-адреси проекту натисніть Створити віртуальний каталог. Якщо ви бачите повідомлення про успіх, значить, ви виконали кроки правильно.

    • У меню Файл натисніть Зберегти вибрані елементи.

Веб-проекти

  1. У Провіднику рішень клацніть правою кнопкою миші назву проекту, а потім натисніть Видалити або Видалити ; не хвилюйтесь, це видаляє проект з вашого рішення, але не видаляє відповідні файли на диску.

  2. Виконайте крок 2 зверху для проектів веб-додатків.

  3. У браузері рішень клацніть правою кнопкою миші рішення, виберіть Add, а потім виберіть існуючий веб - сайт ... . У діалоговому вікні Додати існуючий веб-сайт переконайтесь, що вибрано вкладку Local IIS. У розділі IIS Express Sites виберіть сайт, для якого ви змінили номер порту, а потім натисніть кнопку OK.

Тепер ви можете отримати доступ до свого веб-сайту з вашого нового імені хоста / порту.


1
Дивовижно, саме те, що було потрібно. Довелося ловити рибу за робочим портом, але це зробило трюк, дякую.
hobwell

1
Спасибі Саеб. Це прекрасно працює. Окремий момент для зауваження ... Я використовую управління джерелом і після додавання проекту веб-сайту назад мені довелося перейти до Файл> Контроль над джерелами> Додатково> Змінити контроль над джерелами та відновити проект до мого сервера управління джерелом. Це просто означало вибір проекту у списку та натискання кнопки «Прив’язати» поруч із пунктом «Оновити». Дякую за відмінну відповідь.
Дірк Стросс

2
Чудова відповідь - Замість "правою кнопкою миші клацніть назву проекту, а потім натисніть Видалити або Видалити", ви можете вибрати "Завантажити проект замість цього", а потім знову відредагувати свою applicationhost.config, моя була на "<шлях до мого рішення (.sln) file> \. vs \ config \ applicationhost.config "(зверніть увагу на те, що папка .vs - це прихований елемент, тому виберіть опцію для показу прихованих файлів у вашому файловому досліднику)
Пол Горбас,

1
@PaulGorbas радий, що тобі допомогли. Зауважте, що ви не можете "розвантажувати" веб-сайти , які працюють лише для веб-додатків.
Саеб Аміні

2
Як зробити цю роботу для користувальницького порту SSL? Для будь-якого порту, крім 60233, я отримую "Цю сторінку не можна відобразити" в Internet Explorer та подібні повідомлення в інших веб-браузерах. Де в Windows 7 призначений порт SSL?
MiloDC

18

.Net Core

Для тих, хто потрапив сюди, шукаючи цю конфігурацію в .Net core, це знаходиться в 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"
      },
    }
  }
}

Або ви можете скористатися графічним інтерфейсом, двічі клацнувши по int "Властивості" вашого проекту.

Примітка: мені довелося знову відкрити VS, щоб він працював.


1
Блискуча відповідь. Перезапуск VS працював на мене. Очевидно, ProductAgentService.exeсервіс BitDefender використовує порт 50151, який конфліктує з порту замовчування IIS Express.
шовковий вогонь

5
Порти SSL обмежені на 44300-44399. Може бути добре знати.
FatAlbert

15

Клацніть правою кнопкою миші на вашому проекті MVC. Перейдіть до "Властивості". Перейдіть на вкладку Веб.
Змініть номер порту в URL-адресі проекту. Приклад. localhost: 50645
Змінення жирного номера 50645 на будь-що інше змінить порт, під яким працює сайт.
Натисніть Створити віртуальний каталог для завершення процесу.

Дивитися також: http://msdn.microsoft.com/en-us/library/ms178109.ASPX

Зображення показує веб-вкладку проекту MVC введіть тут опис зображення


4

Якщо ви просто хочете змінити порт, оскільки він уже використовується. Виконайте наступні дії.

У студії Visual

  1. Клацніть правою кнопкою миші на Project Node та Unload Project
  2. Клацніть правою кнопкою миші на Project Node та Edit .csproj файл.
  3. Знайдіть наступні теги та видаліть їх
<DevelopmentServerPort>62140</DevelopmentServerPort>
<DevelopmentServerVPath></DevelopmentServerVPath>
<IISUrl>http://localhost:62116/</IISUrl>
  1. натисніть Ctrl + S, щоб зберегти документ
  2. Клацніть правою кнопкою миші на проектному вузлі та завантажте Project

Він буде працювати, вибравши інший порт випадковим чином.

Для подальшої інформації. натисніть, будь ласка


2

Ще одне виправлення для тих, у кого встановлений IIS:

Створіть шлях на сервері IIS та розмістіть там свій веб-сайт / додаток.

Перейдіть до властивостей рішення провідника, тоді перед використанням iisexpress від візуальної студії зробіть, що vs використовує ваш особистий IIS.

Власність рішення



2

Якщо ми говоримо про веб-сайт, а не про веб-додаток, моя проблема полягала в тому, що фактична папка .sln була деінде, ніж веб-сайт, і я цього не помічав. Знайдіть шлях .sln, а потім папку .vs (прихована) там.


0

Я би те саме питання про проект WCF на VS2017. Коли я налагоджую, він видає помилки, такі як не в змозі отримати метадані, але виявляється, порт використовувався в іншому процесі. Звідси я отримав деяке уявлення і, нарешті, з’ясував, де зберігається порт. Є 2 місця: 1. C: ... до папки вашого рішення .... vs \ config \ applicationhost.config. Всередині ви можете знайти сайт, на якому ви налагоджуєте. У розділі Видаліть те, що має проблему з портом. 2. C: ... до папки вашого проекту ... \, ви побачите файл із ProjectName.csproj.user. Видаліть цей файл.

Отже, закрийте рішення, видаліть і вказаний вище файл користувача, після чого знову відкрийте рішення, VS знайде інший підходящий порт для сайту.


0

Я використовую VS 2019.

якщо у вашому рішенні є декілька бібліотек проектів / класів тощо, ви можете не побачити вкладку Веб при натисканні на властивості Solution Explorer.

Натиснувши на проект MVC, а потім перевірити властивості, відкриється веб-вкладка, де ви можете змінити порт.


-2

Редагувати .sln файл за допомогою редактора, наприклад блокнота.

Замініть всі порти на новий порт.


Це правильне рішення, якщо ви використовуєте проект старого стилю веб-сайтів (тобто для файлів ASP Classic) у VS2019. Ви повинні відредагувати файл рішення, оскільки немає інших сторінок властивостей. Мій проект виглядає так у файлі sln. Project ("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "MyWebSitePrj", " localhost: 50194 ", "{BC30BA4B-1D1D-48D0-B1E8-86CBD64611B5}"
Бред Ірбі

-6

Розгорніть свою програму в IIS з портом за замовчуванням. Спробуйте налагодити його за допомогою візуальної студії. Це хороша практика. Якщо ви використовуєте візуальну студію, вона буде змінювати номер порту більшу частину часу. Тож краще розгорнути додаток у IIS спочатку та відкрити те саме у візуальній студії та налагодити його.


Шановний Марку, я не думаю, що ти уважно прочитав це питання!
Мохіт

1
Крім того, це не дуже хороша практика розвиватися безпосередньо проти IIS. Ця стаття MSDN пояснює, коли під час розробки слід використовувати IISExpress, IIS або зовнішній сервер. msdn.microsoft.com/en-us/library/58wxa9w5(v=vs.120).aspx
Itanex
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.