Bagaimana cara mengubah port IIS Express untuk sebuah situs

109

Saya ingin mengubah nomor port yang menjalankan situs web saya saat melakukan debug dari Visual Studio. Saya menggunakan Visual Studio 2012, dan saya menggunakan ASP.NET MVC 4 untuk proyek saya, saya ingin mengubah porta. Port acak atau diperbaiki siapa pun akan bekerja hanya ingin mengubah port.

Mohit
sumber

Jawaban:

128

Untuk menentukan port untuk proyek aplikasi Web yang menggunakan IIS Express

  1. Di Solution Explorer, klik kanan nama aplikasi dan kemudian pilih Properties. Klik tab Web.

  2. Di bagian Server, di bawah Gunakan server Web IIS Lokal, di kotak URL Proyek ubah nomor port.

  3. Di sebelah kanan kotak URL Proyek, klik Buat Direktori Virtual, lalu klik OK.

  4. Di menu File, klik Simpan Item yang Dipilih.

  5. Untuk memverifikasi perubahan, tekan CTRL + F5 untuk menjalankan proyek. Nomor port baru muncul di bilah alamat browser.

Dari Cara: Tentukan Port untuk Server Pengembangan ( backup archive.org di sini ).

hutchonoid
sumber
14
Itu tidak bekerja untuk Situs Web. Hanya untuk proyek Aplikasi Web.
Supersharp
2
Tidak ada tab Web di sini ... Anda akan berpikir bahwa pada tahun 2017, ini tidak akan menjadi masalah lagi .. Itu atau paling tidak kita harus dapat mengubah port tanpa harus melakukan sihir
calcazar
Visual Studio 2015 tidak ada pilihan (ASP.NET Empty Web Site) .. bagaimana cara membuatnya?
KingRider
Saya telah melakukan semua ini, kecuali mengklik tombol Buat Direktori Virtual. Melakukan itu membuat berbeda; sekarang berhasil. Tapi mengapa itu perlu?
Batang
Nah jika Anda melakukan ini, Anda tidak lagi menggunakan IIS Express, tetapi IIS lokal. Jadi buka saja tab Web di Project Properties dan edit port ke apa pun yang Anda butuhkan.
VladT
68

Berikut adalah metode yang lebih manual yang berfungsi baik untuk proyek Situs Web dan proyek Aplikasi Web . (Anda tidak dapat mengubah URL proyek dari dalam proyek Visual Studio for Website.)

Proyek Aplikasi Web

  1. Di Solution Explorer, klik kanan proyek dan klik Unload Project .

  2. Arahkan ke file IIS Express ApplicationHost.config . Secara default, file ini terletak di:

    %userprofile%\Documents\IISExpress\config

    Dalam versi Visual Studio dan proyek Aplikasi Web terbaru, file ini ada di folder solusi di bawah [Solution Dir]\.vs\config\applicationhost.config(perhatikan folder .vs adalah item tersembunyi)

  3. Buka file ApplicationHost.config di editor teks. Di <sites>bagian tersebut, cari nama situs Anda. Di <bindings>bagian situs Anda, Anda akan melihat elemen seperti ini:

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

    Ubah nomor port (56422 dalam contoh di atas) ke apa pun yang Anda inginkan. misalnya:

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

    Bonus: Anda bahkan dapat mengikat ke nama host yang berbeda dan melakukan hal-hal keren seperti:

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

    dan kemudian petakan mysite.devke127.0.0.1 dalam hostsfile Anda , lalu buka situs web Anda dari " http://mysite.dev "

  4. Di Solution Explorer, klik kanan proyek dan klik Reload Project .

  5. Di Solution Explorer, klik kanan proyek dan pilih Properties.

    • Pilih tab Web.

    • Di bagian Server, di bawah Gunakan server Web IIS Lokal, di kotak URL Proyek masukkan URL untuk mencocokkan nama host dan port yang Anda masukkan di file ApplicationHost.config dari sebelumnya.

    • Di sebelah kanan kotak URL Proyek, klik Buat Direktori Virtual. Jika Anda melihat pesan sukses, berarti Anda telah melakukan langkah-langkahnya dengan benar.

    • Di menu File, klik Simpan Item yang Dipilih.

Proyek situs web

  1. Di Solution Explorer, klik kanan nama proyek dan kemudian klik Hapus atau Hapus ; jangan khawatir, ini akan menghapus proyek dari solusi Anda, tetapi tidak menghapus file yang sesuai di disk.

  2. Ikuti langkah 2 dari atas untuk proyek Aplikasi Web.

  3. Dalam solusi Explorer, klik kanan solusi, pilih Add, lalu pilih yang ada Web Site ... . Di kotak dialog Tambahkan Situs Web yang Ada, pastikan bahwa tab IIS Lokal dipilih. Di bawah Situs Ekspres IIS, pilih situs yang Anda telah mengubah nomor port, lalu klik OK.

Sekarang Anda dapat mengakses situs web Anda dari nama host / port baru Anda.

Saeb Amini
sumber
1
Luar biasa, persis seperti yang dibutuhkan. Harus mencari ikan di sekitar untuk pelabuhan yang berfungsi, tetapi ini berhasil, terima kasih.
hobwell
1
Terima kasih Saeb. Ini bekerja dengan sempurna. Hanya satu hal yang perlu diperhatikan ... Saya menggunakan kontrol sumber dan setelah menambahkan kembali proyek Situs Web saya, saya harus membuka File> Kontrol Sumber> Tingkat Lanjut> Ubah Kontrol Sumber dan pasang kembali proyek saya ke server kontrol sumber saya. Ini hanya berarti memilih proyek dalam daftar dan mengklik tombol 'Bind' di sebelah 'Refresh'. Terima kasih atas jawaban yang luar biasa.
Dirk Strauss
2
Jawaban bagus - Alih-alih "klik kanan nama proyek lalu klik Hapus atau Hapus", Anda dapat memilih "bongkar proyek", lalu edit lagi applicationhost.config, milik saya ada di "<path to my solution (.sln) file> \. vs \ config \ applicationhost.config "(perhatikan folder .vs adalah item tersembunyi, jadi pilih opsi untuk menampilkan file tersembunyi di file explorer Anda)
Paul Gorbas
1
@PaulGorbas senang itu membantu Anda. Perhatikan bahwa Anda tidak dapat "membongkar" situs web , yang hanya berfungsi untuk aplikasi web.
Saeb Amini
2
Bagaimana cara membuat ini berfungsi untuk port SSL khusus? Untuk port apa pun kecuali 60233, saya mendapatkan "Halaman ini tidak dapat ditampilkan" di Internet Explorer, dan pesan serupa di browser web lain. Di mana di Windows 7 seseorang menunjuk port SSL?
MiloDC
18

.Net Core

Bagi mereka yang sampai di sini mencari konfigurasi ini di .Net core, ini berada di lauchSettings.json. Cukup edit port di properti "applicationUrl".

File tersebut akan terlihat seperti ini:

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

Atau Anda dapat menggunakan GUI dengan mengklik dua kali pada "Properti" proyek Anda.

Catatan: Saya harus membuka kembali VS untuk membuatnya berfungsi.

fabriciorissetto.dll
sumber
1
Jawaban yang brilian. Memulai ulang VS berhasil untuk saya. Rupanya layanan BitDefender ProductAgentService.exemenggunakan port 50151 yang berkonflik dengan port default IIS Express.
Silkfire
5
Port SSL dibatasi untuk 44300-44399. Mungkin bagus untuk mengetahui.
FatAlbert
15

Klik kanan pada Proyek MVC Anda. Pergi ke Properties. Buka tab Web.
Ubah nomor port di Project Url. Contoh. localhost: 50645
Mengubah angka tebal, 50645, ke hal lain akan mengubah port tempat situs berjalan.
Tekan tombol Buat Direktori Virtual untuk menyelesaikan proses.

Lihat juga: http://msdn.microsoft.com/en-us/library/ms178109.ASPX

Gambar menunjukkan tab web Proyek MVC masukkan deskripsi gambar di sini

Ashley Medway
sumber
4

Jika Anda hanya ingin mengubah port karena sudah digunakan. Ikuti langkah-langkah berikut ini.

Di studio Visual

  1. Klik kanan pada Project Node and Unload Project
  2. Klik kanan pada file Project Node dan Edit .csproj.
  3. Cari tag berikut dan hapus
<DevelopmentServerPort>62140</DevelopmentServerPort>
<DevelopmentServerVPath></DevelopmentServerVPath>
<IISUrl>http://localhost:62116/</IISUrl>
  1. tekan Ctrl + S untuk menyimpan dokumen
  2. Klik kanan pada Project Node dan muat Project

Ini akan bekerja dengan memilih port lain secara acak.

Untuk informasi lebih lanjut. silahkan klik

Charlie
sumber
2

Perbaikan lain untuk mereka yang menginstal IIS:

Buat jalur di Server IIS, dan alokasikan situs web / aplikasi Anda di sana.

Pergi ke properti solusi penjelajah, lalu di depan menggunakan iisexpress dari studio visual, buat itu vs gunakan IIS pribadi Anda sendiri.

Sifat Solusi

Alex
sumber
2

Pertama-tama Anda dapat menjalankan IIS express dari baris perintah dan memberinya port dengan / port: nomor port, lihat opsi lain .

John Henckel
sumber
2

Jika kita berbicara tentang WebSite, bukan aplikasi web, masalah saya adalah folder .sln yang sebenarnya ada di tempat lain selain situs web, dan saya tidak menyadarinya. Cari jalur .sln dan kemudian untuk folder .vs (tersembunyi) di sana.

Penjaga
sumber
0

Saya akan memiliki masalah yang sama pada proyek WCF di VS2017. Saat saya debug, muncul error seperti tidak bisa mendapatkan meta data, tapi ternyata port tersebut digunakan oleh proses lain. Saya mendapat ide dari sini, dan akhirnya mencari tahu di mana pelabuhan itu disimpan. Ada 2 tempat: 1. C: ... ke folder solusi Anda .... vs \ config \ applicationhost.config. Di dalamnya, Anda dapat menemukan situs yang Anda debug. Di bawah, hapus yang memiliki masalah port. 2. C: ... ke folder proyek Anda ... \, Anda akan melihat file dengan ProjectName.csproj.user. Hapus file ini.

Jadi, tutup solusi, hapus dan file pengguna yang disebutkan di atas, lalu buka kembali solusinya, VS akan menemukan port lain yang sesuai untuk situs tersebut.

Huky
sumber
0

Saya menggunakan VS 2019.

jika solusi Anda memiliki lebih dari satu proyek / perpustakaan kelas dll, maka Anda mungkin tidak melihat tab Web saat mengklik properti penjelajah solusi.

Mengklik pada proyek MVC dan kemudian memeriksa properti akan menampilkan tab web tempat Anda dapat mengubah porta.

Shaakir
sumber
-2

Edit file .sln menggunakan editor seperti notepad.

Ganti Semua Port Dengan Port Baru.

menambahkan
sumber
Ini adalah solusi yang valid jika Anda menggunakan Proyek Situs Web gaya lama (yaitu untuk file ASP Classic) di VS2019. Anda harus mengedit file solusi karena tidak ada halaman properti lainnya. Proyek saya terlihat seperti ini di file sln. Proyek ("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "MyWebSitePrj", " localhost: 50194 ", "{BC30BA4B-1D1D-48D0-B1E8-86CBD64611B5}"
Brad Irby
-6

Terapkan aplikasi Anda di IIS dengan port default. Coba debug menggunakan visual studio. Ini praktik yang bagus. Jika Anda menggunakan studio visual, nomor port akan terus berubah setiap saat. Jadi lebih baik gunakan aplikasi di IIS terlebih dahulu dan Buka yang sama di studio visual dan Debug.

Arjunan
sumber
Dear Mark, saya rasa Anda belum membaca pertanyaan itu dengan cermat!
Mohit
1
Selain itu, bukanlah praktik yang baik untuk mengembangkan langsung terhadap IIS. Artikel MSDN ini menjelaskan kapan Anda harus menggunakan IISExpress, IIS, atau Server Eksternal saat mengembangkan. msdn.microsoft.com/en-us/library/58wxa9w5(v=vs.120).aspx
Itanex