ฉันต้องการเปลี่ยนหมายเลขพอร์ตที่เว็บไซต์ของฉันทำงานในขณะที่แก้ไขข้อบกพร่องจาก Visual Studio ฉันใช้ Visual Studio 2012 และฉันใช้ ASP.NET MVC 4 สำหรับโปรเจ็กต์ของฉันฉันต้องการเปลี่ยนพอร์ต พอร์ตสุ่มหรือคงที่ทุกคนจะทำงานเพียงแค่ต้องการเปลี่ยนพอร์ต
ฉันต้องการเปลี่ยนหมายเลขพอร์ตที่เว็บไซต์ของฉันทำงานในขณะที่แก้ไขข้อบกพร่องจาก Visual Studio ฉันใช้ Visual Studio 2012 และฉันใช้ ASP.NET MVC 4 สำหรับโปรเจ็กต์ของฉันฉันต้องการเปลี่ยนพอร์ต พอร์ตสุ่มหรือคงที่ทุกคนจะทำงานเพียงแค่ต้องการเปลี่ยนพอร์ต
คำตอบ:
เพื่อระบุพอร์ตสำหรับโปรเจ็กต์เว็บแอปพลิเคชันที่ใช้ IIS Express
ในโซลูชัน Explorer ให้คลิกขวาที่ชื่อของแอปพลิเคชันจากนั้นเลือกคุณสมบัติ คลิกแท็บเว็บ
ในส่วนเซิร์ฟเวอร์ภายใต้ใช้ Local IIS Web server ในกล่อง Project URL เปลี่ยนหมายเลขพอร์ต
ทางด้านขวาของกล่อง Project URL ให้คลิก Create Virtual Directory จากนั้นคลิก OK
ในเมนูไฟล์คลิกบันทึกรายการที่เลือก
ในการตรวจสอบการเปลี่ยนแปลงให้กด CTRL + F5 เพื่อเรียกใช้โครงการ หมายเลขพอร์ตใหม่จะปรากฏในแถบที่อยู่ของเบราว์เซอร์
จากHow to: ระบุ Port สำหรับ Development Server ( สำรองข้อมูลarchive.org ที่นี่ )
นี่เป็นวิธีการแบบแมนนวลเพิ่มเติมที่ใช้ได้กับทั้งโครงการเว็บไซต์และโครงการแอปพลิเคชันเว็บ (คุณไม่สามารถเปลี่ยน URL โครงการจากภายในโครงการ Visual Studio สำหรับเว็บไซต์)
โครงการ Web Application
ใน Solution Explorer คลิกขวาที่โปรเจ็กต์แล้วคลิกยกเลิกการโหลดโปรเจ็กต์
ไปที่ไฟล์IIS Express ApplicationHost.config โดยค่าเริ่มต้นไฟล์นี้จะอยู่ใน:
%userprofile%\Documents\IISExpress\config
ในเวอร์ชัน Visual Studio และโครงการ Web Application ล่าสุดไฟล์นี้อยู่ในโฟลเดอร์โซลูชันภายใต้[Solution Dir]\.vs\config\applicationhost.config
(โปรดทราบว่าโฟลเดอร์. vs เป็นรายการที่ซ่อนอยู่)
เปิดไฟล์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 "
ใน Solution Explorer ให้คลิกขวาที่โครงการแล้วคลิก โครงการโหลด
ใน Solution Explorer คลิกขวาที่โครงการและเลือกคุณสมบัติ
เลือกแท็บเว็บ
ในส่วนเซิร์ฟเวอร์ภายใต้ใช้ Local IIS Web server ในกล่อง Project URL ให้ป้อน URL เพื่อให้ตรงกับชื่อโฮสต์และพอร์ตที่คุณป้อนในไฟล์ApplicationHost.configจากก่อนหน้านี้
ทางด้านขวาของกล่อง Project URL ให้คลิก Create Virtual Directory หากคุณเห็นข้อความแสดงความสำเร็จแสดงว่าคุณทำตามขั้นตอนถูกต้องแล้ว
ในเมนูไฟล์คลิกบันทึกรายการที่เลือก
โครงการเว็บไซต์
ในโซลูชัน Explorer คลิกขวาชื่อโครงการแล้วคลิกเอาออกหรือลบ ; ไม่ต้องกังวลการดำเนินการนี้จะลบโครงการออกจากโซลูชันของคุณ แต่จะไม่ลบไฟล์ที่เกี่ยวข้องบนดิสก์
ทำตามขั้นตอนที่ 2 จากด้านบนสำหรับโครงการ Web Application
ในโซลูชัน Explorer คลิกขวาที่โซลูชันเลือกเพิ่มจากนั้นเลือกเว็บไซต์ที่มีอยู่ ...... ในกล่องโต้ตอบเพิ่มเว็บไซต์ที่มีอยู่ตรวจสอบให้แน่ใจว่าได้เลือกแท็บ Local IIS แล้ว ภายใต้ไซต์ IIS Express เลือกไซต์ที่คุณเปลี่ยนหมายเลขพอร์ตจากนั้นคลิกตกลง
ตอนนี้คุณสามารถเข้าถึงเว็บไซต์ของคุณจากชื่อโฮสต์ / พอร์ตใหม่ของคุณ
สำหรับผู้ที่มาที่นี่กำลังมองหาการกำหนดค่านี้ใน. 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"
},
}
}
}
หรือคุณสามารถใช้ GUI โดยดับเบิลคลิกใน "คุณสมบัติ" ของโครงการของคุณ
หมายเหตุ: ฉันต้องเปิด VS อีกครั้งเพื่อให้มันใช้งานได้
ProductAgentService.exe
บริการของ BitDefender ใช้พอร์ต 50151 ซึ่งขัดแย้งกับพอร์ตเริ่มต้นของ IIS Express
คลิกขวาที่โครงการ MVC ของคุณ ไปที่คุณสมบัติ ไปที่แท็บเว็บ
เปลี่ยนหมายเลขพอร์ตใน Project Url ตัวอย่าง. localhost: 50645
การเปลี่ยนหมายเลขตัวหนา 50645 เป็นสิ่งอื่นจะเปลี่ยนพอร์ตที่ไซต์ทำงาน
กดCreate Virtual Directoryเพื่อเสร็จสิ้นกระบวนการ
ดูเพิ่มเติม: http://msdn.microsoft.com/en-us/library/ms178109.ASPX
รูปภาพแสดงแท็บเว็บของโครงการ MVC
หากคุณต้องการเปลี่ยนพอร์ตเนื่องจากมีการใช้งานอยู่แล้ว ทำตามขั้นตอนต่อไปนี้
ใน Visual Studio
<DevelopmentServerPort>62140</DevelopmentServerPort> <DevelopmentServerVPath></DevelopmentServerVPath> <IISUrl>http://localhost:62116/</IISUrl>
มันจะทำงานโดยการเลือกพอร์ตอื่นแบบสุ่ม
สำหรับข้อมูลเพิ่มเติม. กรุณาคลิก
การแก้ไขอื่นสำหรับผู้ที่ติดตั้ง IIS:
สร้างเส้นทางบนเซิร์ฟเวอร์ IIS และจัดสรรเว็บไซต์ / แอปของคุณที่นั่น
ไปที่คำแนะนำของโซลูชันของ explorer จากนั้นใช้ iisexpress จากสตูดิโอวิชวลตรงหน้าให้เทียบกับใช้ IIS ส่วนตัวของคุณเอง
ครั้งแรกที่คุณสามารถเริ่มต้น IIS แสดงจากบรรทัดคำสั่งและให้มันพอร์ตด้วย / พอร์ต: พอร์ตจำนวนดูตัวเลือกอื่น ๆ
หากเรากำลังพูดถึงเว็บไซต์ไม่ใช่เว็บแอปปัญหาของฉันคือโฟลเดอร์. sln จริงอยู่ที่อื่นที่ไม่ใช่เว็บไซต์และฉันไม่ได้สังเกตเห็น มองหาพา ธ . sln จากนั้นหาโฟลเดอร์. vs (hidden) ที่นั่น
ฉันเป็นปัญหาเดียวกันกับโครงการ WCF ใน VS2017 เมื่อฉันดีบักมันให้ข้อผิดพลาดเช่นไม่สามารถรับข้อมูลเมตาได้ แต่ปรากฎว่ามีการใช้พอร์ตโดยกระบวนการอื่น ฉันได้ความคิดบางอย่างจากที่นี่และในที่สุดก็หาที่เก็บพอร์ตได้ มี 2 ตำแหน่ง: 1. C: ... ไปยังโฟลเดอร์โซลูชันของคุณ .... vs \ config \ applicationhost.config ภายในคุณจะพบไซต์ที่คุณแก้ไขข้อบกพร่อง ภายใต้ลบที่มีปัญหาพอร์ต 2. C: ... ไปยังโฟลเดอร์โครงการของคุณ ... \ คุณจะเห็นไฟล์ที่มี ProjectName.csproj.user ลบไฟล์นี้
ดังนั้นปิดโซลูชันลบและไฟล์ผู้ใช้ที่กล่าวถึงข้างต้นจากนั้นเปิดโซลูชันใหม่ VS จะค้นหาพอร์ตอื่นที่เหมาะสมสำหรับไซต์
ฉันใช้ VS 2019
หากโซลูชันของคุณมีไลบรารีโปรเจ็กต์ / คลาสมากกว่าหนึ่งไลบรารีเป็นต้นคุณอาจไม่เห็นแท็บเว็บเมื่อคลิกที่คุณสมบัติ Solution explorer
คลิกที่โครงการ MVC จากนั้นตรวจสอบคุณสมบัติจะแสดงแท็บเว็บที่คุณสามารถเปลี่ยนพอร์ตได้
แก้ไขไฟล์. slnโดยใช้โปรแกรมแก้ไขเช่น notepad
เปลี่ยนพอร์ตทั้งหมดด้วยพอร์ตใหม่
ปรับใช้แอปพลิเคชันของคุณใน IIS ด้วยพอร์ตเริ่มต้น พยายามแก้จุดบกพร่องโดยใช้ Visual Studio เป็นแนวทางปฏิบัติที่ดี หากคุณใช้วิชวลสตูดิโอระบบจะเปลี่ยนหมายเลขพอร์ตอยู่ตลอดเวลา ดังนั้นควรปรับใช้แอปพลิเคชันใน IIS ก่อนและเปิดแบบเดียวกันใน Visual Studio และแก้ไขข้อบกพร่อง