Làm cách nào để thay đổi cổng IIS Express cho một trang web


109

Tôi muốn thay đổi số cổng mà trang web của tôi chạy trong khi gỡ lỗi từ Visual Studio. Tôi đang sử dụng Visual Studio 2012 và tôi đang sử dụng ASP.NET MVC 4 cho các dự án của mình, tôi muốn thay đổi cổng. Cổng ngẫu nhiên hoặc cố định bất kỳ ai sẽ làm việc chỉ muốn thay đổi cổng.

Câu trả lời:


128

Để chỉ định một cổng cho một dự án ứng dụng Web sử dụng IIS Express

  1. Trong Solution Explorer, bấm chuột phải vào tên của ứng dụng, sau đó chọn Thuộc tính. Nhấp vào tab Web.

  2. Trong phần Máy chủ, bên dưới Sử dụng máy chủ Web IIS cục bộ, trong hộp URL dự án thay đổi số cổng.

  3. Ở bên phải của hộp URL dự án, bấm vào Tạo thư mục ảo, sau đó bấm OK.

  4. Trong menu Tệp, bấm Lưu các Mục đã Chọn.

  5. Để xác minh thay đổi, nhấn CTRL + F5 để chạy dự án. Số cổng mới xuất hiện trên thanh địa chỉ của trình duyệt.

Từ Cách thực hiện: Chỉ định một Cổng cho Máy chủ Phát triển ( sao lưu archive.org tại đây ).


14
Điều đó không hoạt động cho các Trang web. Chỉ dành cho các dự án Ứng dụng Web.
Supersharp

2
Không tab Web ở đây ... Bạn sẽ nghĩ rằng vào năm 2017, đây sẽ không còn là một vấn đề .. Đó hoặc ít nhất chúng ta sẽ có thể thay đổi cổng mà không cần phải làm ảo thuật
calcazar

Visual Studio 2015 không tồn tại tùy chọn (ASP.NET Trang web trống) .. làm thế nào để thực hiện?
KingRider

Tôi đã làm tất cả những điều này, ngoại trừ việc nhấp vào nút Tạo Thư mục Ảo. Làm điều đó tạo nên sự khác biệt; bây giờ nó hoạt động. Nhưng tại sao điều đó lại cần thiết?
Rod

Nếu bạn làm điều này, bạn không còn sử dụng IIS Express nữa mà là IIS cục bộ. Vì vậy, chỉ cần chuyển đến tab Web trong Thuộc tính dự án và chỉnh sửa cổng thành bất cứ thứ gì bạn cần.
VladT

68

Đây là một phương pháp thủ công hơn phù hợp với cả dự án Trang web và dự án Ứng dụng web . (bạn không thể thay đổi URL dự án từ bên trong Visual Studio cho các dự án Trang web.)

Dự án ứng dụng web

  1. Trong Solution Explorer, bấm chuột phải vào dự án và bấm Dỡ bỏ dự án .

  2. Điều hướng đến tệp IIS Express ApplicationHost.config . Theo mặc định, tệp này nằm ở:

    %userprofile%\Documents\IISExpress\config

    Trong các phiên bản Visual Studio gần đây và các dự án Ứng dụng Web, tệp này nằm trong thư mục giải pháp bên dưới [Solution Dir]\.vs\config\applicationhost.config(lưu ý rằng thư mục .vs là một mục ẩn)

  3. Mở tệp ApplicationHost.config trong trình soạn thảo văn bản. Trong <sites>phần này, hãy tìm kiếm tên trang web của bạn. Trong <bindings>phần của trang web của bạn, bạn sẽ thấy một phần tử như sau:

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

    Thay đổi số cổng (56422 trong ví dụ trên) thành bất kỳ thứ gì bạn muốn. ví dụ:

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

    Phần thưởng: Bạn thậm chí có thể liên kết với một tên máy chủ khác và làm những điều thú vị như:

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

    rồi ánh xạ mysite.devđến 127.0.0.1trong hoststệp của bạn , sau đó mở trang web của bạn từ " http://mysite.dev "

  4. Trong Solution Explorer, bấm chuột phải vào dự án và bấm Tải lại dự án .

  5. Trong Solution Explorer, bấm chuột phải vào dự án và chọn Thuộc tính.

    • Chọn tab Web.

    • Trong phần Máy chủ, bên dưới Sử dụng máy chủ Web IIS cục bộ, trong hộp URL dự án, hãy nhập URL khớp với tên máy chủ và cổng mà bạn đã nhập trong tệp ApplicationHost.config trước đó.

    • Ở bên phải của hộp URL dự án, nhấp vào Tạo thư mục ảo. Nếu bạn thấy thông báo thành công thì bạn đã thực hiện đúng các bước.

    • Trong menu Tệp, bấm Lưu các Mục đã Chọn.

Dự án trang web

  1. Trong Giải pháp Explorer, bấm chuột phải vào tên dự án và sau đó bấm Loại bỏ hoặc Xóa ; đừng lo lắng, thao tác này sẽ xóa dự án khỏi giải pháp của bạn, nhưng không xóa các tệp tương ứng trên đĩa.

  2. Làm theo bước 2 từ trên cho các dự án Ứng dụng Web.

  3. Trong giải pháp Explorer, bấm chuột phải là giải pháp, chọn Add, và sau đó chọn hiện tại trang web ... . Trong hộp thoại Thêm trang web hiện có, hãy đảm bảo rằng tab IIS cục bộ được chọn. Trong IIS Express Sites, hãy chọn trang web mà bạn đã thay đổi số cổng, sau đó bấm OK.

Bây giờ bạn có thể truy cập trang web của mình từ tên máy chủ / cổng mới.


1
Tuyệt vời, chính xác những gì cần thiết. Phải đánh cá quanh một cảng đang hoạt động, nhưng điều này đã thành công, cảm ơn bạn.
hobwell

1
Cảm ơn Saeb. Điều này hoạt động hoàn hảo. Chỉ một điểm cần lưu ý ... Tôi đang sử dụng kiểm soát nguồn và sau khi thêm lại dự án Trang web của mình, tôi phải đi tới Tệp> Kiểm soát Nguồn> Nâng cao> Thay đổi Kiểm soát Nguồn và gắn lại dự án của mình vào máy chủ kiểm soát nguồn của tôi. Điều này chỉ có nghĩa là chọn dự án trong danh sách và nhấp vào nút 'Ràng buộc' bên cạnh 'Làm mới'. Cảm ơn vì câu trả lời xuất sắc.
Dirk Strauss

2
Câu trả lời tuyệt vời - Thay vì "nhấp chuột phải vào tên dự án và sau đó nhấp vào Xóa hoặc Xóa", bạn có thể chọn "dỡ bỏ dự án thay thế", sau đó chỉnh sửa lại applicationhost.config của bạn, của tôi đã ở "<đường dẫn đến giải pháp của tôi (.sln) file> \. vs \ config \ applicationhost.config "(lưu ý rằng thư mục .vs là một mục ẩn, vì vậy hãy chọn tùy chọn để hiển thị các tệp ẩn trong trình khám phá tệp của bạn)
Paul Gorbas

1
@PaulGorbas rất vui vì nó đã giúp bạn. Lưu ý rằng bạn không thể "dỡ" các trang web , điều đó chỉ hoạt động với các ứng dụng web.
Saeb Amini

2
Làm thế nào để làm cho điều này hoạt động cho một cổng SSL tùy chỉnh? Đối với bất kỳ cổng nào ngoại trừ 60233, tôi nhận được thông báo "Không thể hiển thị trang này" trong Internet Explorer và các thông báo tương tự trong các trình duyệt web khác. Ở đâu trong Windows 7 người ta chỉ định cổng SSL?
MiloDC

18

.Net Core

Đối với những người ở đây tìm kiếm cấu hình này trong .Net core, cấu hình này nằm trong lauchSettings.json. Chỉ cần chỉnh sửa cổng trong thuộc tính "applicationUrl".

Tệp sẽ trông giống như sau:

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

Hoặc bạn có thể sử dụng GUI bằng cách nhấp đúp vào "Thuộc tính" của dự án yor.

Lưu ý: Tôi đã phải mở lại VS để làm cho nó hoạt động.


1
Câu trả lời tuyệt vời. Khởi động lại VS đã làm việc cho tôi. Rõ ràng ProductAgentService.exedịch vụ của BitDefender sử dụng cổng 50151 xung đột với cổng mặc định của IIS Express.
silkfire

5
Các cổng SSL bị hạn chế ở 44300-44399. Có thể là tốt để biết.
FatAlbert

15

Nhấp chuột phải vào Dự án MVC của bạn. Đi tới Thuộc tính. Chuyển đến tab Web.
Thay đổi số cổng trong Url dự án. Thí dụ. localhost: 50645
Thay đổi số in đậm, 50645, thành bất kỳ thứ gì khác sẽ thay đổi cổng mà trang web đang chạy.
Nhấn vào Tạo thư mục ảo để hoàn tất quá trình.

Xem thêm: http://msdn.microsoft.com/en-us/library/ms178109.ASPX

Hình ảnh hiển thị tab web của Dự án MVC nhập mô tả hình ảnh ở đây


4

Nếu bạn chỉ muốn thay đổi cổng vì nó đã được sử dụng. Làm theo các bước sau.

Trong studio trực quan

  1. Nhấp chuột phải vào Project Node và Unload Project
  2. Nhấp chuột phải vào Project Node và Chỉnh sửa tệp .csproj.
  3. Tìm kiếm các thẻ sau và xóa chúng
<DevelopmentServerPort>62140</DevelopmentServerPort>
<DevelopmentServerVPath></DevelopmentServerVPath>
<IISUrl>http://localhost:62116/</IISUrl>
  1. nhấn Ctrl + S để lưu tài liệu
  2. Nhấp chuột phải vào Project Node và tải Project

Nó sẽ hoạt động bằng cách chọn một cổng khác một cách ngẫu nhiên.

Để biết thêm thông tin. vui lòng bấm vào


2

Một bản sửa lỗi khác cho những người đã Cài đặt IIS:

Tạo đường dẫn trên Máy chủ IIS và phân bổ trang web / ứng dụng của bạn ở đó.

Đi đến những ưu tiên của giải pháp của trình thám hiểm, sau đó trước khi sử dụng iisexpress từ visual studio, hãy thực hiện điều đó so với sử dụng IIS của riêng bạn.

Giải pháp giống



2

Nếu chúng ta đang nói về một WebSite, không phải ứng dụng web, thì vấn đề của tôi là thư mục .sln thực tế nằm ở một nơi khác ngoài trang web và tôi đã không nhận thấy. Tìm đường dẫn .sln và sau đó tìm thư mục .vs (ẩn) ở đó.


0

Tôi gặp vấn đề tương tự trong một dự án WCF trên VS2017. Khi tôi gỡ lỗi, nó đưa ra các lỗi như không thể lấy dữ liệu meta, nhưng hóa ra cổng đã được sử dụng bởi quy trình khác. Tôi có một số ý tưởng từ đây, và cuối cùng đã tìm ra nơi giữ cổng. Có 2 nơi: 1. C: ... vào thư mục giải pháp của bạn .... so với \ config \ applicationhost.config. Bên trong, bạn có thể tìm thấy trang web mà bạn gỡ lỗi. Bên dưới, xóa phần có vấn đề về cổng. 2. C: ... vào thư mục dự án của bạn ... \, bạn sẽ thấy một tệp có tên ProjectName.csproj.user. Xóa tệp này.

Vì vậy, hãy đóng giải pháp, xóa và tệp người dùng được đề cập ở trên, sau đó mở lại giải pháp, VS sẽ tìm thấy một cổng phù hợp khác cho trang web.


0

Tôi đang sử dụng VS 2019.

nếu giải pháp của bạn có nhiều hơn một dự án / thư viện lớp, v.v., thì bạn có thể không thấy tab Web khi nhấp vào thuộc tính Trình khám phá giải pháp.

Nhấp vào dự án MVC và sau đó kiểm tra thuộc tính sẽ hiển thị tab web nơi bạn có thể thay đổi cổng.


-2

Chỉnh sửa tệp .sln bằng trình như notepad.

Thay thế tất cả các cổng bằng cổng mới.


Đây là giải pháp hợp lệ nếu bạn đang sử dụng Dự án trang web kiểu cũ (tức là đối với tệp ASP Cổ điển) trong VS2019. Bạn phải chỉnh sửa tệp giải pháp vì không có trang thuộc tính nào khác. Dự án của tôi trông giống như thế này trong tệp sln. Dự án ("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "MyWebSitePrj", " localhost: 50194 ", "{BC30BA4B-1D1D-48D0-B1E8-86CBD64611B5}"
Brad Irby

-6

Triển khai ứng dụng của bạn trong IIS với cổng mặc định. Cố gắng gỡ lỗi nó bằng cách sử dụng studio trực quan. Đó là một thực hành tốt. Nếu bạn sử dụng studio trực quan, nó sẽ liên tục thay đổi số cổng. Vì vậy, tốt hơn hãy triển khai ứng dụng trong IIS trước và Mở tương tự trong studio trực quan và Gỡ lỗi nó.


Mark thân mến, tôi không nghĩ rằng bạn đã đọc kỹ câu hỏi!
Mohit

1
Ngoài ra, việc phát triển trực tiếp chống lại IIS không phải là một thực tiễn tốt. Bài viết MSDN này giải thích khi nào bạn nên sử dụng IISExpress, IIS hoặc Máy chủ Bên ngoài khi phát triển. msdn.microsoft.com/en-us/library/58wxa9w5(v=vs.120).aspx
Itanex
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.