ไม่สามารถเรียกใช้เว็บเซิร์ฟเวอร์ IIS Express, ไม่สามารถลงทะเบียน URL, Access ถูกปฏิเสธ


168

บางโครงการบนเว็บทำให้ฉันมีปัญหาในขณะที่บางโครงการทำงานได้ดี ฉันตัดสินใจที่จะมุ่งเน้นไปที่หนึ่งในปัญหาที่มี ฉันใช้ Visual Studio 2013 เมื่อ Windows 7 PROJECT NAME - Microsoft Visual Studio (Administrator)ฉันคิดว่าฉันใช้มันในฐานะผู้ดูแลชื่อหน้าต่างกล่าวว่า

เมื่อฉันพยายามเรียกใช้โครงการฉันได้รับป๊อปอัปว่า:

ไม่สามารถเปิดเว็บเซิร์ฟเวอร์ IIS Express

ไม่สามารถลงทะเบียน URL " http: // localhost: 62940 / " สำหรับไซต์ "SITE NAME" แอปพลิเคชัน "/" คำอธิบายข้อผิดพลาด: การเข้าถึงถูกปฏิเสธ (0x80070005)

นี้ไม่ได้ดูเหมือนสิ้นเชิง เรื่องแปลกแต่ฉันได้พยายามหลายข้อเสนอแนะโดยไม่มีโชค:

  1. ลบแล้ว%userprofile%\Documents\IISExpress\พยายามเรียกใช้

  2. netsh http add urlacl url=http://localhost:62940/ user=everyoneรีบูตและพยายามเรียกใช้ (อันที่จริงuser=Allaตั้งแต่ Windows ภาษาสวีเดน)

  3. netsh http delete urlacl url=http://localhost:62940/, รีบูตและเปลี่ยนจาก<binding protocol="http" bindingInformation="*:62940:localhost />การ<binding protocol="http" bindingInformation="*:62940:/>อยู่ใน%userprofile%\Documents\IISExpress\config\applicationhost.configและพยายามที่จะวิ่ง ... URL "http://*:62940/" ...(มันไม่เปลี่ยนข้อความข้อผิดพลาดจะพูดว่า

  4. ติดตั้ง IIS 8.0 Express ใหม่แล้ว

  5. ติดตั้ง Visual Studio 2013 อีกครั้ง

ฉันอยู่ท้ายปัญญาฉันกำลังทำอะไรผิด

ถ้าฉันเปลี่ยนพอร์ตของโครงการ (เช่นเป็น 55555) มันจะเริ่ม ... นี่ไม่ใช่วิธีการแก้ปัญหาที่เหมาะสมเนื่องจากโครงการเหล่านี้ใช้งานได้หลายคน บางทีพอร์ตถูกบล็อกโดยอย่างอื่น? ถ้าเป็นเช่นนั้นมีวิธีง่าย ๆ ในการตรวจสอบโดยอะไร

ดูเหมือนว่าพอร์ต 62940 จะว่าง การรันnetstatไม่แสดงแอปพลิเคชันใด ๆ ที่ฟังอยู่ อย่างอื่นจะต้องผิด

ฉันพยายามเริ่มต้นโครงการในวันนี้หลังจากไม่ได้สัมผัสเป็นเวลาสองสามเดือน มันใช้งานได้ แต่ฉันไม่รู้ว่าทำไม


เรียกใช้netstat -aon | findstrเพื่อดูว่าแอปพลิเคชันอื่นตรวจสอบพอร์ต 62940 หรือไม่ถ้าใช่คุณไม่สามารถตรวจสอบพอร์ตนั้น แต่ต้องเปลี่ยนเป็นพอร์ตอื่น อย่าเปลี่ยน applicationHost.config หรือnetsh httpเมื่อเห็นได้ชัดว่าไม่ใช่สาเหตุ
Lex Li

ฉันวิ่งnetstatตามที่แนะนำ ดูเหมือนว่าไม่มีแอปพลิเคชันใดกำลังตรวจสอบพอร์ต 62940 สิ่งอื่นต้องผิด
Linus

2
การรีบูตเครื่องทำงานให้ฉัน
Patrick Borkowicz

คำตอบ:


91

ฉันแก้ไขข้อผิดพลาดโดยการเปลี่ยนพอร์ตสำหรับโครงการ

ฉันทำตามขั้นตอนต่อไปนี้:

1 - คลิกขวาที่โครงการ
2 - ไปที่คุณสมบัติ
3 - ไปที่แท็บเซิร์ฟเวอร์
4 - บนแท็บส่วนเปลี่ยน URL โครงการสำหรับพอร์ตอื่นเช่น 8080 หรือ 3000

โชคดี!


9
เพียงฆ่าMicrosoft.VisualStudio.Web.Host.exe*32กระบวนการตามที่ Avrohom Yisroel พูด
rotgers

ยังทำงานให้ฉันใน ASP.NET Core 1.0 RC1 แม้ว่าตอนนี้จะอยู่ในแท็บ Debug และฉันต้องสลับเปิดใช้งาน SSL เปิดและปิดอีกครั้งเพื่อสร้างพอร์ตใหม่จากนั้นคัดลอกไปที่กล่อง URL เปิดใช้งาน stackoverflow.com/a/35706891/134761
angularsen

16
ทำไมโหวตขึ้นนี้? นี่ไม่ใช่วิธีแก้ปัญหา แต่เป็นวิธีแก้ปัญหา
Paleta

เช่นเดียวกับ @rotgers กล่าวว่าฉันต้องฆ่ากระบวนการ แต่ของฉันคือ ServiceHub.Host.CLR ฉันมี 5 คนหรือบางอย่างและฆ่าคนที่ฉันสามารถทำได้ จากนั้นฉันก็ปลดล็อค
MartinJH

หากคุณใช้ VS 2017 เพื่อเรียกใช้แอปพลิเคชันของคุณให้ไปที่แท็บ 'เว็บ' และเปลี่ยนพอร์ตใน Project Url
Fortune

59

วิธีที่เหมาะสมที่สุดในการจัดเรียงนี้คือการใช้ไอคอนถาด IIS Express เพื่อหยุดเว็บไซต์ที่เป็นสาเหตุของปัญหา เมื่อต้องการทำเช่นนี้คลิกลูกศรชี้ขึ้นเล็กน้อยในด้านขวามือของแถบงานและคลิกขวาที่ไอคอน IIS Express นี่จะปรากฏขึ้นในหน้าต่างเล็ก ๆ ที่แสดงเว็บไซต์ที่ IIS Express กำลังทำงานอยู่ ...

IIS Express ปรากฏขึ้น

หากคุณคลิกที่รายการใดรายการหนึ่งภายใต้ "ดูไซต์" คุณมีตัวเลือกเพื่อหยุดไซต์นั้น หรือคุณสามารถคลิกรายการออกที่ด้านล่างของหน้าต่างเพื่อหยุดเว็บไซต์ทั้งหมด

ซึ่งจะช่วยให้คุณสามารถดีบักใน Visual Studio เมื่อคุณเริ่มการตรวจแก้จุดบกพร่องอีกครั้ง IIS Express จะรีสตาร์ทเว็บไซต์โดยอัตโนมัติและควรจะสามารถจัดสรรพอร์ต

หากสิ่งนั้นล้มเหลวคุณต้องทำอย่างนั้นเสีย เปิด Windows Task Manager และฆ่าMicrosoft.VisualStudio.Web.Host.exe*32กระบวนการจากนั้นคุณสามารถเรียกใช้โครงการได้ โปรดทราบว่านี่จะฆ่า IIS Express อย่างสมบูรณ์ซึ่งหมายความว่าเว็บไซต์ทั้งหมดจะหยุดทำงานดังนั้นคุณจะต้องเริ่มต้นใหม่แต่ละรายการใน VS หากคุณต้องการแก้จุดบกพร่องอื่น ๆ ลองใช้วิธีไอคอนแบบผุดขึ้นก่อนเป็นเรื่องยากเพราะมันสะอาดและปลอดภัยกว่า

ไม่ทราบว่าสิ่งนี้จะตอบปัญหาของคุณได้ไหม แต่มันใช้ได้กับฉัน

อัปเดตขอบคุณ JasonCoder (ดูความคิดเห็นด้านล่าง) สำหรับการเพิ่มใน Win10 กระบวนการคือMicrosoft.VsHub.Server.HttpHost.exe


3
Microsoft.VsHub.Server.HttpHost.exe เป็นสิ่งที่ฉันใช้กับ Windows 7 ด้วย VS2015
JCisar

กระบวนการนี้ทำงานอีกครั้งเมื่อฉันพยายามเรียกใช้โครงการ ฉันจะกำจัดมันได้อย่างไร
nmit026

2
@ nmit026 กระบวนการควรจะทำงานอีกครั้งนั่นคือสิ่งที่เรียกใช้เว็บไซต์ของคุณ วัตถุประสงค์ของการฆ่ามันคือการปลดล็อคที่ดูเหมือนจะมีในพอร์ต เมื่อคุณเรียกใช้ครั้งถัดไประบบจะรีสตาร์ทกระบวนการและจัดสรรพอร์ตอย่างถูกต้อง
Avrohom Yisroel

51

ลอง (ในฐานะผู้ดูแลระบบระดับสูง)

netsh http delete urlacl url=http://*:62940/

3
มันใช้งานได้จริงสำหรับฉัน ฉันเชื่อว่าฉันต้องสำรองพอร์ตใน MSVS 2010 ด้วยเหตุผลบางอย่างจากนั้นอัปเกรดเป็น 2013 (ด่วน) และเริ่มได้รับข้อผิดพลาด ฉันลองลบแล้วเพิ่ม (localhost -> '*') ซึ่งใช้ไม่ได้ จากนั้นเพียงลบโดยไม่เพิ่มและมันก็ใช้ได้
crokusek

3
สิ่งนี้ใช้ได้สำหรับฉันเช่นกัน แต่เมื่อทำงานในฐานะผู้ดูแลระบบเท่านั้น ไม่เช่นนั้นจะระบุว่าหาไฟล์ไม่พบ
เซ.

3
ลองnetsh http show urlaclค้นหารายการที่ขัดแย้งกัน
shlgug

4
สิ่งนี้ช่วยได้ แต่ในกรณีของฉันยังไม่เพียงพอ ฉันยังต้องเพิ่ม URL ที่เหมาะสมกลับมาใช้netsh http add urlacl url=http://localhost:62940/ user=Everyone
วิส

7
การลบการจอง URL ล้มเหลวข้อผิดพลาด: 2 ระบบไม่พบไฟล์ที่ระบุ
ชุดเครื่องมือ

45

เมื่อใช้ Visual Studio 2015 โซลูชันอาจแตกต่างจากคำตอบก่อนหน้าเล็กน้อย VS2015 สร้างโฟลเดอร์. vs ที่ซ่อนอยู่ภายใต้โฟลเดอร์เดียวกันกับไฟล์โซลูชันของคุณ ภายใต้นี่คือโฟลเดอร์ config ที่มี applicationhost.config การลบไฟล์นี้ (หรือทั้งโฟลเดอร์. vs) จากนั้นเริ่มต้น VS2015 เพื่อสร้างไฟล์ขึ้นใหม่สามารถแก้ไขข้อผิดพลาดนี้ได้


ฉันไม่ต้องรีสตาร์ท VS2015 เพียงลองรีสตาร์ทแอปพลิเคชัน นอกจากนี้ฉันต้องคลิก "สร้างไดเรกทอรีเสมือน" ในแท็บเว็บของหน้าคุณสมบัติโครงการ
Doug Lampe

ปัญหาของฉันคือการที่. vs / config / application ... config อื่นกำลังใช้พอร์ต เมื่อฉันลบพอร์ตออกจากการกำหนดค่าแอปพลิเคชันนั้นฉันก็สบายดี
James McDonnell

ผมมีปัญหาเหมือนกัน. ฉันแก้ไขมันโดยค้นหาพอร์ตนี้ใน applicationhost.config ควรมีแท็ก 'ไซต์' ที่มีพอร์ตเดียวกับที่กำหนดไว้ในการตั้งค่าโครงการ หาก Visual Studio สร้างแท็กไซต์ที่ไม่ถูกต้องใหม่ให้ลบออก
เค็ม

37

ใช่ฉันเห็นด้วยคำตอบยอดนิยมเป็นโซลูชั่นมืออาชีพจริงๆ

นี่คือหนึ่งสำหรับตัวกลาง

โซลูชัน Explorer

คลิกขวาที่โครงการเลือกยกเลิกการโหลดโครงการ

คลิกขวาอีกครั้งและเลือกแก้ไข ProjectName.csproj

ลบ 3 บรรทัดเหล่านี้

<DevelopmentServerPort>0</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:62940/</IISUrl>

บันทึกและโหลดโครงการ และคุณพร้อมที่จะไป


ฉันมีเพียงพอกับการยกเลิกการโหลด - ไม่จำเป็นต้องลบบรรทัดใด ๆ จากไฟล์. csproj
วาลเดซ V.

ทางออกที่ดี ก่อนหน้านี้ต้องรีสตาร์ทเครื่องเพื่อแก้ปัญหานี้ - ดังนั้นขอขอบคุณสำหรับวิธีแก้ปัญหาที่ดี
nspire

ฉันไม่เห็นส่วนลบฉันเพิ่งไปที่นั่นและเปลี่ยนพอร์ตและได้ผล
Belarmino Vicenzo

35

รับข้อผิดพลาดนี้เช่นกันเมื่อเร็ว ๆ นี้ พยายามแก้ไขทั้งหมดข้างต้น แต่ไม่มีใครทำงาน

ปิดการใช้งานประเภทservices.mscในพร้อมรับคำสั่งแล้วคลิกขวาและปิดการใช้งานการเชื่อมต่ออินเทอร์เน็ตที่ใช้ร่วมกัน ฉันแก้ไขคุณสมบัติของมันเช่นกันเพื่อปิดการใช้งานเมื่อเริ่มต้น Mine ดูเหมือนเป็นเช่นนี้แล้ว: จับภาพหน้าจอบริการ


2
ใน Windows 10 Anniversary Edition เรียกว่า Mobile Hotspot และสามารถเปิดได้โดยพิมพ์เช่น "hotspot" ในเมนู Start และเลือกเปลี่ยนการตั้งค่าฮอตสปอตจากมือถือ
Mathias Rönnlund

ดังที่ Michael บอกว่าปัญหาคือ ICS แต่คุณไม่จำเป็นต้องปิดใช้งานบริการเพียงแค่รีสตาร์ทและพอร์ตจะให้บริการฟรี
Daniel Genezini

25

สิ่งนี้เกิดขึ้นกับฉันเมื่อฉันพยายามเข้าถึงเว็บไซต์ของฉันจากสถานที่ห่างไกล :

ตอนแรก applicationhost.config (VS2015) มีมาตรฐาน:

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

ในการเข้าถึงเว็บไซต์ของฉันจากสถานที่ห่างไกลภายในเครือข่ายฉันได้เพิ่ม (ขั้นตอนที่ 1):

<binding protocol="http" bindingInformation="*:64376:192.168.10.132" />

จากนั้นฉันเข้าสู่ CMD ด้วยสิทธิ์ผู้ดูแลระบบ (ขั้นตอนที่ 2):

netsh http add urlacl url=http://*:64376/ user=Everyone

ในขั้นตอนที่ 3 ฉันเพิ่มกฎนี้ลงในไฟร์วอลล์

netsh advfirewall firewall add rule name=”IISExpressWeb dir=in protocol=tcp localport=64376 profile=private,domain remoteip=localsubnet action=allow

จากนั้นฉันได้รับข้อผิดพลาดนี้เมื่อพยายามเรียกใช้โซลูชันอีกครั้ง

วิธีแก้ปัญหา:ดูเหมือนว่าฉันจะทำทุกอย่างถูกต้องแล้ว แต่มันไม่ได้ผลจนกว่าฉันจะรันnetshด้วยกฎท้องถิ่นที่มีอยู่ :

netsh http add urlacl url=http://localhost:64376/ user=Everyone

ตอนนี้มันทำงานได้อีกครั้ง


1
คำสั่งสุดท้ายคือสิ่งที่ฉันต้องการเพื่อให้สิ่งต่าง ๆ ทำงานได้อีกครั้ง
peterkodermac

ขอบคุณสำหรับสิ่งนี้. นี่เป็นหลุมดำเดียวกับที่ฉันติดอยู่หลังจากพยายามเข้าถึงไซต์จากระยะไกล
benmccallum

24

ฉันเพิ่งมีปัญหาที่คล้ายกัน ฉันไม่แน่ใจว่าจะอธิบายความผิดจริงได้อย่างไร แต่ดูเหมือนว่าชื่อโฮสต์ในการจองไม่ถูกต้อง ลองใช้คำสั่งยกระดับ ...

netsh http delete urlacl url=http://localhost:62940/

... จากนั้น ...

netsh http add urlacl url=http://*:62940/ user=everyone

และเริ่มไซต์ของคุณใหม่ มันควรจะทำงาน


19

ฉันพบข้อความแสดงข้อผิดพลาดเดียวกัน แต่ดูเหมือนว่าผลิตจาก IIS Express บทความนี้ช่วยฉันแก้ปัญหา

TL; DR

เรียกใช้คำสั่งต่อไปนี้จากพรอมต์คำสั่งของผู้ดูแลระบบ:

> netsh http add iplisten ipaddress=::

1
@amy netsh กำหนดค่าบทบาท / คุณสมบัติเซิร์ฟเวอร์ Windows เป็นหลักที่เปิดใช้งาน http และ ip ฟัง localhost สำหรับผู้ที่สนใจเอกสารของไมโครซอฟท์ที่นี่: technet.microsoft.com/en-us/library/ …
มิคาห์

ไชโย @Micah ตั้งแต่นั้นมาฉันต้องยกเลิกสิ่งนี้เนื่องจากไซต์ IIS ที่กำหนดค่าไว้ในเครื่องของฉันหยุดทำงาน .. : /
กองทัพ

2
การแก้ไข: ฉันต้องเพิ่ม 127.0.0.1 เป็นไอพีเพื่อฟังตอนนี้ทำงานได้ทุกอย่างแล้ว ขอบคุณสำหรับการแก้ปัญหาอีกครั้ง;)
กองทัพ

16

หลังจากลองใช้วิธีแก้ปัญหาที่แนะนำจำนวนหนึ่งโดยไม่ประสบความสำเร็จฉันเพิ่งรีบูตเครื่องพีซี หลังจากนั้นปัญหาก็ไม่ได้เกิดขึ้นอีกแล้ว


ในฐานะที่เป็นโน้ตเล็ก ๆ - ฉันลองทุกวิธีจากที่นี่ ฉันได้ลองปิดเครื่องและเริ่มพีซีใหม่อีกครั้ง แต่มันก็ไม่ทำงาน จากนั้นเพื่อนร่วมงานแนะนำให้ฉันใช้ RESTART แทน SHUT DOWN และใช้งานได้จริง ใบหน้าโป๊กเกอร์ : | ใช้ Visual Studio 2015 บน WIndows 8.1 ข้อผิดพลาดนี้เกิดขึ้นบ่อยครั้งในโซลูชั่น VS ต่างๆที่ฉันเรียกใช้ในเครื่อง
Prisecaru Alin

15

ฉันได้รับปัญหาเดียวกันเมื่อเรียกใช้แอปพลิเคชันของฉันจาก Visual Studio 2019 บน Windows 10 หลังจากผ่านไประยะหนึ่งและลองใช้วิธีแก้ปัญหาที่เสนอหลาย ๆ อย่างไม่ประสบความสำเร็จฉันพบว่าข้อผิดพลาด "Access Denied" เป็นผลมาจากหมายเลขพอร์ต ) ตกอยู่ใน "ช่วงพอร์ตที่ยกเว้น"

คุณสามารถดูช่วงพอร์ตที่ถูกแยกด้วยคำสั่งต่อไปนี้:

netsh interface ipv4 show excludedportrange protocol=tcp

หลังจากผ่านไปนานกว่านั้นฉันก็พบว่าผู้กระทำผิดสองคนที่มีแนวโน้มมากที่สุดที่สร้างช่วงการยกเว้นเหล่านี้คือ Docker และ Hyper-V ไม่ได้ติดตั้ง Docker บนคอมพิวเตอร์ของฉัน แต่เป็น Hyper-V

โซลูชันของฉัน

  1. ปิดใช้งาน Hyper-V: แผงควบคุม -> โปรแกรมและคุณสมบัติ -> เปิดหรือปิดคุณสมบัติ Windows Untick Hyper-V
  2. รีสตาร์ทคอมพิวเตอร์
  3. เพิ่มพอร์ตที่คุณใช้ในช่วงการยกเว้นพอร์ต: netsh int ipv4 add excludedportrange protocol=tcp startport=50403 numberofports=1 store=persistent
  4. เปิดใช้งาน Hyper-V อีกครั้ง
  5. รีสตาร์ทคอมพิวเตอร์

ฉันเพิ่มพอร์ตที่ฉันใช้ในรายการการยกเว้นเพื่อให้แน่ใจว่าฉันจะไม่ได้รับปัญหานี้อีกหลังจากเปิดใช้งาน Hyper-V อีกครั้ง หลังจากขั้นตอนที่ 4 และ 5 เมื่อฉันดูช่วงพอร์ตที่แยกฉันจะเห็นว่า Hyper-V จองช่วงพอร์ตที่เริ่มต้นด้วยพอร์ตถัดไปหลังจากพอร์ตของฉัน

ช่วงพอร์ตที่ยกเว้น

แอปพลิเคชันของฉันทำงานได้อย่างสมบูรณ์แบบ!


2
โซลูชั่นที่สมบูรณ์แบบ! ฉันมีนักเทียบท่าติดตั้งซึ่งทำให้เกิดปัญหาเดียวกัน ขอบคุณมาก
Richa Garg

2
เพียงแค่คำสั่งเพื่อระบุพอร์ตการยกเว้นเพื่อให้พวกเขาสามารถเลือกพอร์ตที่ว่างได้นั้นเป็นทางออกที่ง่ายสำหรับปัญหา port_is_in_use ไม่จำเป็นต้องยุ่งกับ Hyper-V หรือบริการอื่นใดที่ใช้ / จองพอร์ต (และขอบคุณมากสำหรับความช่วยเหลือของคุณ)
HPWP7

@ HPWP7 ใช่คุณถูกต้องทางออกง่ายๆคือเลือกพอร์ตอื่น ในกรณีของฉันฉันต้องใช้พอร์ต 50403 เพราะบริการได้รับการใช้งานจากบริการภายนอกซึ่งฉันไม่สามารถควบคุมได้ ดังนั้นฉันจึงจำเป็นต้องจองพอร์ต 50403 (มันเป็นความสุขดีใจที่ฉันสามารถช่วยได้)
Philip Trenwith

ขอบคุณ! ฉันใช้เวลาหนึ่งชั่วโมงในการลองทุกอย่างโดยไม่มีโชค
Max Favilli

ขอบคุณ! ฉันสามารถข้ามขั้นตอนถอนการติดตั้ง / ติดตั้งใหม่ได้โดยเพียงแค่รีสตาร์ทพีซีครั้งเดียวและไม่เริ่มต้นคอนเทนเนอร์ (นักเทียบท่า) ใด ๆ หลังจากบูตก่อนที่จะเรียกใช้คำสั่งจากขั้นตอนที่ 3 โชคดีที่ฉันรีบูตครั้งเดียวเท่านั้น อาจใช้เวลาคู่
Malte R

13

ฉันลงเอยด้วยการล้างไฟล์โครงการ (csproj) และ applicationhost.config (iis express) ด้วยรายการทั้งหมดที่เกี่ยวข้องกับการกำหนดค่า iis express หลังจากนั้นก็ใช้งานได้


8
ทำความสะอาดapplicationhost.configไฟล์ที่ใช้งานได้สำหรับฉัน ฉันเพิ่งลบ<site>รายการทั้งหมดในนั้น C:\Users\<USERNAME>\Documents\IISExpress\config\applicationhost.config
Nick Albrecht

ใช่. หนึ่งนี้ทำงานสำหรับฉันใน VS 2013 ผมล้างรายการเว็บไซต์ของฉันภายใต้และกด<sites> Ctrl+F5มันบอกว่าข้อผิดพลาดไม่สามารถเปิด IIS Express ดังนั้นคลิกขวาที่โครงการไปที่คุณสมบัติภายใต้เว็บถัดจากกล่องข้อความ URL โครงการที่http://localhost:3758/ระบุคลิกที่ "สร้างไดเรกทอรีเสมือน" Ctrl+F5เปิดตัวเว็บไซต์แล้วตอนนี้
Gopinath

11

หากคุณมีสิ่งนี้หลังจากติดตั้ง Visual Studio 2015 และคุณสามารถเห็นข้อความแสดงข้อผิดพลาดในบันทึกเหตุการณ์ของระบบเช่นนี้Unable to bind to the underlying transport for [::]:{your_port}. . The IP Listen-Only list may contain a reference ...คุณอาจพลาดรายการรีจิสทรี

รันสิ่งนี้ภายใต้พรอมต์คำสั่งของผู้ดูแลระบบ: netsh http add iplisten ipaddress=::เพื่อแก้ไข

ฉันพบวิธีแก้ปัญหาที่อธิบายรายละเอียดที่นี่


แม้ว่าคุณจะเปลี่ยนพอร์ตโปรเจคของคุณคุณต้องใช้คำnetsh http add iplisten ipaddress=::ขอบคุณ @Ignas
OldTrain

9

หลังจากขั้นตอนทั้งหมดที่ระบุไว้ที่นี่ล้มเหลวสำหรับฉันฉันทำให้มันทำงานได้ด้วยการใช้ VS2015 ในฐานะผู้ดูแลระบบ


และนี่ก็เป็นสาเหตุส่วนใหญ่หาก URL ที่ไม่สามารถเปิดตัวเป็นหนึ่งที่ปลอมคุณเพิ่มเข้าไปในไฟล์โฮสต์ของคุณ
MrLore

5

สิ่งนี้เกิดขึ้นกับฉันใน Windows 10 และ VS 2013 เห็นได้ชัดว่ามีหมายเลขพอร์ตสูงสุดที่ IIS IIS จัดการ พอร์ตด้านบน 62546 ไม่ทำงานสำหรับฉัน


1
ฉันไม่แน่ใจว่าสูงสุดหรือไม่ อย่างไรก็ตามฉันกำลังทุกข์ทรมานจากข้อผิดพลาดนี้ ฉันลบ%userprofile%\Documents\IISExpressและแก้ไขไฟล์. csproj ของฉันแล้วย้ายจากพอร์ต 63584 ถึง 61111 หลังจากโหลดใหม่โครงการของฉันก็เริ่มทำงานได้ดี
Andy V

3

ข้อผิดพลาดสามารถแก้ไขได้ถ้าคุณเพิ่งเริ่ม Visual Studio มันมีผลเช่นเดียวกับการรีสตาร์ทกระบวนการ Microsoft.VisualStudio.Web.Host.exe * 32


1
ไม่ใช่การรีสตาร์ทแม้แต่คอมพิวเตอร์ก็ช่วยฉันได้ ไม่เหมาะสำหรับฉัน
Eugene Bosikov

1
สำหรับฉันมันใช้งานได้ลองอัปเดต Visual Studio คุณสามารถลองวิธีอื่น ๆ ได้เช่นกัน
meJustAndrew

2

ปัญหาของฉันกลับกลายเป็นว่าฉันเปิดใช้งาน SSL ในการตั้งค่าโครงการ ฉันเพียงแค่ปิดใช้งานสิ่งนี้เพราะฉันไม่ต้องการ SSL สำหรับการเรียกใช้โครงการในพื้นที่

ใน Visual Studio 2015:

  • เลือกโครงการใน Solution Explorer
  • ในหน้าต่างคุณสมบัติตั้งค่า SSL ที่เปิดใช้งานเป็นเท็จ
  • ฉันสามารถเรียกใช้โครงการ

ในสถานการณ์ของฉันฉันได้รับข้อผิดพลาดเกี่ยวกับพอร์ต 443 ที่ใช้งานเพราะนี่คือพอร์ตที่ตั้งค่าไว้ใน URL SSL สำหรับโครงการ


1
ฉันมีสิ่งที่ตรงกันข้ามฉันต้องเปิดใช้งาน SSL ในโครงการของฉัน ดีใจที่ได้เห็นฉันไม่ใช่คนเดียวที่เห็นข้อผิดพลาดนี้เนื่องจาก SSL
Tenderloin

1
ฉันต้องทำเช่นนี้เพื่อตั้งค่าให้ใช้ SSL แล้วกลับไปที่ไม่ (แอพของฉันไม่ควรใช้ ssl)
Rainhider

2

มีปัญหาเดียวกันกับที่ IIS แสดงข้อร้องเรียนเกี่ยวกับhttp: // localhost: 50418 /และไม่มีวิธีแก้ไขปัญหาด้านบนสำหรับฉัน ..

ไปprojektFolder -> .vs -> config -> applicationhost.xml

ในแท็ก<sites>ฉันพบว่าแอปพลิเคชันเว็บของฉันมีการลงทะเบียนสองรายการ

<site name="myApp.Web" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\git\myApp\myApp.Web" />
    </application>
    <bindings>
        <binding protocol="https" bindingInformation="*:44332:localhost" />
        <binding protocol="http" bindingInformation="*:50418:localhost" />
    </bindings>
</site>

การลบการโยงที่ชี้ไปที่ *: 50418: localhost สามารถแก้ไขปัญหาได้

ใช้ VS2017 และ IISExpress v10


สวัสดีเรากำลังพูดถึง IISExpress ที่นี่ไม่ใช่ IIS ฉันไม่มีสามบรรทัดเลย
yww325

1

ไปที่โครงการ "Properties" => "Web" และในส่วน "เซิร์ฟเวอร์" เปลี่ยนพอร์ตเป็นอย่างอื่นที่ไม่ได้ใช้และบันทึกไว้ คุณจะถูกขอให้สร้างไดเรกทอรีเสมือนและคลิก "ใช่" ตอนนี้เรียกใช้โครงการและมันจะทำงานทันที


นี่เป็นคำตอบเดียวกับที่ฟรานซิสโกเขียนเมื่อ 3 สัปดาห์ก่อน
Johnny Bones

1

ในกรณีของฉันมันทำงานในตอนแรกและหลังจากที่ในขณะที่หยุดทำงานและ IIS Express รายงานว่าพอร์ตที่ใช้งานอยู่
netstat -abแสดงให้เห็นว่า Chrome กำลังใช้พอร์ต หลังจากฉันออกจาก Chrome มันก็เริ่มทำงานอีกครั้ง
ฉันไม่แน่ใจ แต่ทำไม Chrome ถึงครอบครองพอร์ตนั้น


สิ่งนี้ใช้ได้สำหรับฉัน ฉันใช้เรียกดูด้วยและสลับไปมาระหว่าง Firefox และ Chrome โดยไม่เรียกใช้ดีบักเกอร์ บางสิ่งบางอย่างจะต้องถูกวางสายในกระบวนการ (Win7 / VS2015)
Technobabble

1

สิ่งนี้เกิดขึ้นกับฉันใน Windows 7 และ VS 2013 ขณะที่ดูโครงการบนเบราว์เซอร์หลังจากสร้าง ฉันต้องปิดเบราว์เซอร์ "Chrome" จากนั้นตรวจสอบให้แน่ใจว่าพอร์ตไม่ได้ใช้งานในกิจกรรมเครือข่ายของฉันโดยใช้ยูทิลิตี้ (Kaspersky) จากนั้นลองอีกครั้งและทำงานได้โดยไม่มีปัญหาใด ๆ


1

ใน Visual Studio 2015:

  • ค้นหาหน้าเริ่มต้นของคุณในโครงการของคุณ (เช่น: mypage.aspx) และคลิกขวาที่มัน
  • คลิกที่ตั้งเป็นหน้าเริ่มต้น
  • คลิกขวาที่โครงการ
  • คลิกที่คุณสมบัติ
  • คลิกที่แท็บเว็บทางด้านซ้าย
  • ใน Project URL ป้อนพอร์ตอื่นเช่น: http: // localhost: 1234 /
  • ใน Start Action ให้เลือกหน้าเฉพาะ: mypage.aspx หรือเลือก URL เฉพาะ: http: // localhost: 1234 / mypage.aspx? myparam = xxx


1

ฉันแก้ไขปัญหานี้ด้วยการฆ่า iexplorer และ iexplorer * 32 ทุกอินสแตนซ์ ดูเหมือนว่า Internet Explorer จะยังคงอยู่ในหน่วยความจำที่ถือพอร์ตเปิดแม้ว่าจะปิดหน้าต่างแอปพลิเคชันก็ตาม


1

เล่นnetstat -abnผมสังเกตเห็นว่าซอฟต์แวร์ "Duet ดิสเพลย์" ได้รับการสำรองพันของพอร์ตในช่วง ~ 51000

การปิดมันช่วยแก้ปัญหาของฉันได้


วิธีนี้น่าจะเป็นวิธีที่ดีที่สุดเพราะไม่ใช่เพียงพยายามอย่างยิ่งที่จะแก้ไขปัญหา แต่แทนที่จะช่วยค้นหาสาเหตุที่แท้จริงในกรณีของฉันกระบวนการอื่นบางกระบวนการเลือกพอร์ตเดียวกันเป็นระยะโดยบังเอิญซึ่ง IIS ต้องการใช้และ คำตอบนี้ช่วยให้ฉันค้นหาผู้กระทำได้ในที่สุด
Causa prima

1

ฉันมีปัญหานี้กับ JetBrains Rider โดยเฉพาะสำหรับพอร์ต 80 และ 90 บิตมันทำงานกับพอร์ตอื่นเช่นเดียวกับสตูดิโอภาพ

หลังจากทำงานในฐานะผู้ดูแลระบบจะแก้ไขปัญหาได้


นั่นเป็นเพราะคุณกำลังพยายามเปิดพอร์ต <1024 นั่นคือพอร์ตบริการ
Bluebaron

ใช่ว่าเป็นจริง แต่การทำงานในฐานะผู้ดูแลระบบช่วยให้คุณสามารถเชื่อมโยงกับพอร์ตเหล่านี้ได้
workabyte

ใช่ แต่คุณไม่ควรผูกพอร์ตเหล่านั้นในฐานะผู้ดูแลระบบ มันอันตราย.
Bluebaron

1

ใน Visual Studio 2019 เพียงแค่ลบโพรไฟล์ Debug และสร้าง Do the Trick ใหม่

  1. ไปที่คุณสมบัติโครงการในแท็บการดีบัก
  2. ลองก่อนเปลี่ยนพอร์ตการตั้งค่าเซิร์ฟเวอร์เว็บ
  3. ถ้าการเปลี่ยนพอร์ตไม่ทำงานให้ลบโปรไฟล์การดีบักและสร้างคำเตือนเดียวใหม่ตรวจสอบให้แน่ใจว่าคุณรู้การตั้งค่าก่อนหน้า

1

สิ่งที่ได้ผลสำหรับฉันคือการปิดใช้งานอะแดปเตอร์เครือข่ายอื่น ๆ ทั้งหมดยกเว้นที่ฉันใช้อยู่ในปัจจุบัน เหตุการณ์ในตัวแสดงเหตุการณ์คือ: Unable to bind to the underlying transport for [::]:50064. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine. The data field contains the error number.

เนื่องจากฉันมี VMware Workstation, Docker (และ Hyper V) ไคลเอนต์ VPN บางตัวฉันจึงมีอินเตอร์เฟสเครือข่ายมากมาย


0

บางครั้งข้อผิดพลาดนี้ฉันเป็นรุ่น Visual Studio รุ่นอื่นที่ทำงานบนเครื่องเดียวกัน


0

ดูเหมือนว่าทุกคนมีปัญหาของตัวเองเพียงแชร์สิ่งที่ฉันทำเพื่อแก้ไขปัญหานี้ใน VS2015 (Windows 8.1) โซลูชันของฉันมี 6 เว็บไซต์ (ไม่ใช่เว็บแอป)

  1. เปิดไฟล์โซลูชันของคุณ * .sln
  2. เปลี่ยนสตริงไฟล์โซลูชันของคุณ VWDPort = "34781" (ทำให้เป็นเอกลักษณ์ในโซลูชันของคุณหากคุณมีมากกว่า 1 เว็บไซต์ที่ฉันสร้างขึ้น +2) ในแผ่นจดบันทึก

ดูตัวอย่างไฟล์โซลูชัน ProjectSection (WebsiteProperties):

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "BOSTONBEANCOFFEE.COM", "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM", "{5106A8F5-401B-4907-981C-F37784DC4E9D}"
ProjectSection(WebsiteProperties) = preProject
    SccProjectName = ""$/PrismRMSystem/VS2012/WebOfficeV4.root/WebOfficeV4", IPYHAAAA"
    SccAuxPath = ""
    SccLocalPath = "..\.."
    SccProvider = "MSSCCI:Microsoft Visual SourceSafe"
    TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0"
    ProjectReferences = "{04e527c3-bac6-4082-9d39-aad8771b368e}|YBTools.dll;{5d52eaec-42fb-4313-83b8-69e2f55ebf14}|AuthorizeNet.dll;{d8408f53-8f1e-4a71-8b05-76023b09b716}|AuthorizeNet.Helpers.dll;{77ebd08a-de0f-4793-b436-fad6980863e6}|WEBCUSTCONTROLS.dll;"
    Debug.AspNetCompiler.VirtualPath = "/BOSTONBEANCOFFEE.COM"
    Debug.AspNetCompiler.PhysicalPath = "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM\"
    Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\BOSTONBEANCOFFEE.COM\"
    Debug.AspNetCompiler.Updateable = "true"
    Debug.AspNetCompiler.ForceOverwrite = "true"
    Debug.AspNetCompiler.KeyFile = "Key\StrongKey.snk"
    Debug.AspNetCompiler.DelaySign = "false"
    Debug.AspNetCompiler.AllowPartiallyTrustedCallers = "false"
    Debug.AspNetCompiler.FixedNames = "true"
    Debug.AspNetCompiler.Debug = "True"
    Release.AspNetCompiler.VirtualPath = "/BOSTONBEANCOFFEE.COM"
    Release.AspNetCompiler.PhysicalPath = "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM\"
    Release.AspNetCompiler.TargetPath = "PrecompiledWeb\BOSTONBEANCOFFEE.COM\"
    Release.AspNetCompiler.Updateable = "true"
    Release.AspNetCompiler.ForceOverwrite = "true"
    Release.AspNetCompiler.KeyFile = "Key\StrongKey.snk"
    Release.AspNetCompiler.DelaySign = "false"
    Release.AspNetCompiler.AllowPartiallyTrustedCallers = "false"
    Release.AspNetCompiler.FixedNames = "true"
    Release.AspNetCompiler.Debug = "False"      
    VWDPort = "34781"
    SlnRelativePath = "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM\"
EndProjectSection

ในกรณีของฉันฉันพยายามเปลี่ยน URL จากคุณสมบัติของโครงการรีสตาร์ท VS รีบูตเครื่องคอมพิวเตอร์ไม่มีอะไรช่วยฉันเพียงแค่การจัดการไฟล์ SLN นี้เพื่อแก้ไขปัญหาของฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.