ASP.NET 5 MVC: ไม่สามารถเชื่อมต่อกับเว็บเซิร์ฟเวอร์ 'IIS Express'


190

ฉันกำลังทำอะไรอยู่:

การลบapplicationhost.configอยู่ในDocuments\IISExpress\configไม่เปลี่ยนข้อความข้อผิดพลาด (นอกจากนี้ยังมีIISExpressโฟลเดอร์ในprogram filesและprogram files (x86).)

สิ่งที่ฉันสังเกตเห็นและฉันไม่รู้ว่าเป็นปัญหาหรือไม่:

ไฟล์อ้างอิง 'lib / jquery-validation / jquery.validate.js' ไม่พบ

ฉันได้รับการถ่ายโอนข้อมูลด้วย rawcap แต่ฉันไม่ได้สังเกตอะไรมากมายในนั้น บางสิ่งอยู่ที่นั่น:

"Framework": {"FrameworkName": "DNXCore, Version = v5.0", "FriendlyName": "DNX Core 5.0", "ShortName": "dnxcore50", "RedistListPath": null}

ฉันไม่ได้สังเกตเห็นปัญหา แต่ฉันมีข้อมูลเครือข่ายหากสามารถช่วยหาสาเหตุที่ฉันไม่สามารถเชื่อมต่อกับเว็บเซิร์ฟเวอร์ ฉันได้รับRST,ACKทันทีดังนั้นฉันจึงเดาได้ว่าพอร์ตปิดและไม่ว่าเว็บเซิร์ฟเวอร์นี้จะเป็นอะไร

เพิ่มเติมเกี่ยวกับปัญหานี้: 800700c1 ข้อผิดพลาดจาก / ติดตาม: ข้อผิดพลาด

ฉันพยายามแล้ว:

  • การลบ applicationhost.config (และการเปลี่ยนหมายเลขพอร์ต)
  • ใช้ Visual Studio ในฐานะผู้ดูแลระบบ
  • การลบโฟลเดอร์ IISExpress ในเอกสาร (เปลี่ยนข้อความแสดงข้อผิดพลาดจนกว่าจะติดตั้งโฟลเดอร์ใหม่)
  • toggling ssl off and on, คัดลอก url เพื่อเปิดกล่อง (หมายเหตุ: ฉันไม่ได้ใช้ ssl)
  • การล้างข้อผิดพลาด sfc / scannow ทั้งหมด
  • เริ่มต้น iisexpress ด้วยรุ่น x86 และรุ่น 64 บิต

1
สิ่งนี้ช่วยได้ไหม? stackoverflow.com/questions/15873126/… . หรือเปลี่ยนพอร์ต? stackoverflow.com/questions/23502327/…
mariocatch

1
ลองเมื่อคุณเปิด visual studio คลิกขวาแล้วเปิดในฐานะผู้ดูแลระบบ ..
Hazem Torab

ฉันพยายามแนะนำทุกคนให้ฉันแม้ว่าฉันจะลองมาก่อน
Sarek

คุณสามารถเปิดโครงการใหม่เพื่อตรวจสอบได้หรือไม่ รีสตาร์ทพีซีหรือไม่ ย้ายโครงการไปยังสารบบอื่น
เซบาสเตียน 506563

1
ขอบคุณ แต่นั่นก็ไม่ได้ผล
Sarek

คำตอบ:


254

หลังจากติดตั้ง Update 2 สำหรับ Visual Studio 2015 ฉันเริ่มได้รับข้อผิดพลาดเดียวกัน ฉันลองทุกอย่างด้านบนโดยไม่มีโชค อย่างไรก็ตามฉันพบวิธีแก้ปัญหาที่เหมาะกับฉัน:

  1. ลบไฟล์ YourSolutionFolder \ .vs \ config \ applicationhost.config (หมายเหตุ: .vs เป็นโฟลเดอร์ที่ซ่อนอยู่)
  2. เปิด Visual Studio คลิกขวาที่เว็บไซต์> คุณสมบัติ> แท็บตรวจแก้จุดบกพร่อง> การตั้งค่าเซิร์ฟเวอร์เว็บ> URL แอพ - เปลี่ยนหมายเลขพอร์ต

ชายความผิดพลาดของฉันกลับมาพบสิ่งนี้เช่นกันในเว็บไซต์อื่น แต่มันก็แค่ให้ข้อผิดพลาดที่ถูกสาป ฉี่ฉันออก ฉันเรียกใช้เว็บคอนโซล แต่ไม่มี watcher เพื่อที่ฉันจะได้ ctrl + s รีเฟรช
René Sackers

โอ้พระเจ้ามันใช้งานได้ ฉันลบโฟลเดอร์ IISExpress ในเอกสารของฉันแล้วฉันลบไฟล์นั้นจากนั้นฉันเริ่มได้รับข้อผิดพลาดนี้ แต่คำตอบที่ยอมรับได้คือโซลูชัน: stackoverflow.com/questions/33166403/และตอนนี้ก็ใช้งานได้: |
René Sackers

3
สำหรับฉันมันเป็น.vs\config\<MyProject>\config\applicationhost.config
laggingreflex

2
คุณเห็นweb siteว่าคุณต้องคลิกขวาที่ไหน
CodyBugstein

14
สำหรับโครงการ Net Core 2.2 - หลังจากการต่อสู้ครั้งใหญ่และพยายามทุกอย่างตั้งแต่การลบโฟลเดอร์. vs การลบการกำหนดค่า IIS Express การเปลี่ยนหมายเลขพอร์ตการเปลี่ยนการเชื่อมโยงและการทำงาน VS ในฐานะผู้ดูแลระบบฉันในที่สุดlaunchSettings.json3. เปิด VS ซึ่งสร้างขึ้นlaunchSettings.jsonใหม่ ไม่พบว่าไฟล์เสียหายหรือไม่ถูกต้องหรือแม้กระทั่งเมื่อมีการเปลี่ยนแปลงเพื่อทำให้เกิดความล้มเหลว
Quinton Smith

189

ออกจาก VS และลบไฟล์ (project) .vs \ applicationhost.config รีสตาร์ท VS มันควรเริ่มทำงาน


19
สิ่งนี้ใช้ได้กับฉันใน VS2017 โดยไม่ต้องเปลี่ยนพอร์ต
mlienau

4
หลังจากทำสิ่งนี้สำหรับฉันแล้วจำเป็นต้องเรียกใช้ Visual Studio ในฐานะผู้ดูแลระบบและทำงานได้ดีขอบคุณ!
DigaoParceiro

5
โดยเฉพาะอย่างยิ่ง RUN AS ADMINISTRATOR เป็นสิ่งสำคัญสำหรับฉัน (แม้ว่าฉันจะมี Asp.net Core 2.0 VS2017
Bart Mensfort

1
ลบ.vsโฟลเดอร์ทั้งหมดและทำงานให้ฉันด้วย
FindOutIslamNow

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

32

ลองใช้พอร์ตอื่น ฉันเพิ่งตั้งค่าโครงการ Core 1.0 RC1 ใหม่และได้รับข้อผิดพลาดเดียวกัน

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

ทำงานให้ฉัน (TM)

คำตอบจาก: https://stackoverflow.com/a/28650554/134761

ป้อนคำอธิบายรูปภาพที่นี่


1
มันใช้งานได้ แต่เมื่อฉันใช้พอร์ต 60000 พอร์ต 6000 ส่งคืนข้อผิดพลาด: พอร์ตที่ไม่ปลอดภัย
EKanadily

ไม่ทำงานใน Visual Studio 2019 - มันใช้พอร์ตเดิมทุกครั้ง
EJoshuaS - คืนสถานะโมนิก้า

@ EJoshuaS-ReinstateMonica ฉันเชื่อว่านี่เปลี่ยนไปมาก ดูว่าStartupคลาสของคุณได้รับการกำหนดค่าอย่างไรและappsettings.jsonคุณมีไฟล์อะไรบ้าง นอกจากนี้ยังมีProperties\launchSettings.jsonการเปิดตัวโปรไฟล์ที่แตกต่างกันในท้องถิ่น docs.microsoft.com/en-us/aspnet/core/fundamentals/... dejanstojanovic.net/aspnet/2018/december/...
angularsen

27

ฉันประสบปัญหานี้ใน. net core 2.0เมื่อฉันอัปเดตหมายเลขพอร์ตของโครงการ

ฉันสามารถแยกแยะปัญหาได้สองขั้นตอน:

  • ขั้นตอนที่ 1: ลบโฟลเดอร์. vs ซึ่งซ่อนอยู่ในโฟลเดอร์โซลูชันหลัก (ปิด visual studio ก่อนหน้านี้) จากนั้นเมื่อคุณเริ่ม visual studio อีกครั้งโฟลเดอร์และไฟล์นี้ (applicationhost.config) ด้านในจะถูกสร้างขึ้นโดย visual studio โดยอัตโนมัติ
  • ขั้นตอนที่ 2: สำหรับโครงการเริ่มต้นหลายโครงการหากคุณยังประสบปัญหาอยู่โครงการหนึ่งที่เริ่มต้นเป็นโครงการเริ่มต้นแล้วหนึ่งโครงการเป็นโครงการเริ่มต้นหลายโครงการ

วิธีแก้ปัญหาใช้งานได้ ขอบคุณ :) วิธีการเกี่ยวกับการลบโฟลเดอร์. git เช่นกัน?
krunal.cp

24

ฉันมีปัญหานี้ใน. net core 2.1, visual studio รุ่น 15.9.6 เมื่อฉันลบโฟลเดอร์. vs ฉันได้เปิด visual studio ใหม่และปัญหายังคงอยู่ วิธีแก้ปัญหาสำหรับฉันด้านล่าง:

  1. ลบโฟลเดอร์. vs (เป็นโฟลเดอร์ที่ซ่อนอยู่)
  2. รีสตาร์ทคอมพิวเตอร์

โซลูชั่นอื่น ๆ :

  • ปิด Visual Studio ลบโฟลเดอร์ bin และ obj จากโฟลเดอร์โครงการ เปิดโครงการจากนั้นสร้างโซลูชันใหม่
  • ลองเรียกใช้ Visual Studio ในฐานะผู้ดูแล
  • โซลูชันที่สะอาดแล้วสร้างใหม่
  • 1) โซลูชั่นที่สะอาด 2) ออกจาก Visual Studio 3) ลบโฟลเดอร์. vs 4) เปิด Visual Studio อีกครั้ง

ฉันสามารถทำได้โดยการปิดเฉพาะ Visual Studio ลบโฟลเดอร์. vs โดยระบุ Visual Studio อีกครั้ง
Robert Bratton

ใช่มันใช้งานได้สำหรับบางคนที่ไม่ได้อยู่ในกรณีของฉัน ไม่รู้ว่าทำไมมันไม่ทำงาน สิ่งเดียวที่ทำคือรีสตาร์ทคอมพิวเตอร์
Daniaal

2
รับสิ่งนี้หลังจากผ่าน bluescreen ต้อง .vs ลบโฟลเดอร์และรีสตาร์ทคอมพิวเตอร์ การเริ่มต้นใหม่สตูดิโอภาพไม่เพียงพอ
johnb

2
ขั้นตอนของฉันถูกบีบอัดไปที่: 1) โซลูชันที่สะอาด 2) ออกจาก Visual Studio 3) ลบโฟลเดอร์
vs

1
@samneric ขอบคุณสำหรับการที่ฉันจะเพิ่มคุณวิธีการแก้คำตอบ :)
Daniaal

13

เรียกใช้ VisualStudio ด้วยสิทธิ์ของผู้ดูแลระบบและเรียกใช้โครงการ จากนั้นปิด VisualStudio และข้อผิดพลาดทั้งหมดแล้วเรียกใช้ VisualStudio อีกครั้งกับผู้ใช้ปกติ

มันทำเพื่อฉัน

ดูเหมือนว่า IIS จะต้องเขียนบางสิ่งบางอย่างไปยังการตั้งค่าบางอย่างด้วยสิทธิ์ผู้ดูแลระบบ (พอร์ต 80 ใช้งานไม่ได้กับผู้ใช้ปกติ แต่พอร์ต 6767 ทำงานได้ดี)


5
สิทธิ์ของผู้ดูแลระบบเท่านั้นที่อนุญาตให้แอปพลิเคชันเชื่อมโยงกับหมายเลขพอร์ตที่เล็กกว่า 1024 นั่นคือเหตุผลที่ 6767 ใช้งานได้สำหรับคุณ
Lex Li

12

ฉันมีปัญหาเดียวกันฉันสามารถแก้ไขได้โดยเปลี่ยนหมายเลขพอร์ต

  1. คลิกขวาที่โครงการและเลือกคุณสมบัติ

  2. ไปที่ส่วนการแก้ปัญหา

  3. ภายใต้การตั้งค่าเซิร์ฟเวอร์เว็บเปลี่ยนพอร์ต URL ของแอป [เพิ่มเพียงหนึ่ง :)

ป้อนคำอธิบายรูปภาพที่นี่


10

ในกรณีของฉันซึ่งเป็นแอปพลิเคชั่นอื่นที่กำลังฟังบนพอร์ตเดียวกันกับที่ IIS Express พยายามแนบ ฉันต้องเรียกใช้netstat -aoเพื่อดู PID ของกระบวนการซึ่งใช้พอร์ตและแอปพลิเคชันปิดเครื่องเดียวกัน ในกรณีของฉันคือ Viber


10

วิธีแก้ปัญหาที่ใช้งานได้สำหรับฉันคือ: ปิดโปรเจ็กต์ VS ใน File Explorer ไปที่โปรเจ็กต์และลบโฟลเดอร์ ".vs" ทั้งหมดรีสตาร์ทโปรเจ็กต์เรียกใช้เป็น "ดีบั๊ก" ใช้งานได้จริง ๆ ไฟล์. config "

สนุก!


10

คำตอบเหล่านี้จำนวนมากไม่ได้ตอบปัญหาอย่างเต็มที่ ปัญหาที่แท้จริงสำหรับฉันคือฉันมีสองการเชื่อมโยงโดยใช้พอร์ตเดียวกันในไฟล์ applicationhost.config ของฉันและฉันไม่ได้เปิดพอร์ตไปยังการเชื่อมโยงที่สอง (ไม่ใช่ localhost) ของฉัน VS จะช่วยให้คุณยังคงทำงานภายใต้สถานการณ์เหล่านี้ แต่ถ้าคุณอยู่ในโหมดผู้ดูแลระบบ (ดังนั้นคำตอบทั้งหมดข้างต้น)

คุณกำลังสร้างอินสแตนซ์ IIS Express สองอินสแตนซ์ของแอปของคุณบนพอร์ตเดียวกันดังนั้นการเปลี่ยนพอร์ตใดพอร์ตหนึ่งในไฟล์ applicationhost.config ของคุณจะช่วยให้คุณดำเนินการต่อได้ อย่างไรก็ตามมีไฟล์ applicationhost.config สองไฟล์ที่แตกต่างกัน คุณจะต้องเลือกอันที่มีการเชื่อมโยง IP และพอร์ตที่คุณเห็นในคุณสมบัติของโครงการของคุณ

ป้อนคำอธิบายรูปภาพที่นี่.

ไปที่โฟลเดอร์ที่คุณสามารถดูโซลูชันโครงการและโฟลเดอร์โครงการ (แสดงรายการที่ซ่อนอยู่ใน File Explorer) นำทางไปยังโฟลเดอร์. vs ที่ซ่อนของคุณ -> โฟลเดอร์ "YourAppName" -> config ควรมีข้อมูลการเชื่อมโยงที่คุณเห็นในคุณสมบัติของโครงการ

ตัวอย่าง:

<bindings>
    <binding protocol="http" bindingInformation="*:7000:127.0.0.1" />
    <binding protocol="http" bindingInformation="*:7000:192.168.0.5" />
</bindings>

เปลี่ยนหนึ่งในหมายเลขพอร์ตเหล่านั้นเป็นอย่างอื่นที่ไม่ใช่ "7000" เพื่อไม่ให้คุณพยายามใช้พอร์ตเดียวกัน

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

นี่คือคำสั่ง netsh:

  1. netsh http เพิ่ม urlacl url = http://192.168.1.42:58938/ผู้ใช้ทุกคน =
  2. ไฟร์วอลล์ advfirewall netsh เพิ่มชื่อกฎ = "IISExpressWeb" dir = ในโปรโตคอล = tcp localport = โปรไฟล์ 58938 = รีโมตส่วนตัว = แอ็คชัน localsubnet = อนุญาต

คัดลอกคำสั่งเหล่านั้นและรันใน cmd ด้วยสิทธิ์ ADMIN และด้วยที่อยู่ IP และหมายเลขพอร์ตของคุณ


นี่คือทางออกสำหรับฉันขอบคุณ
WeisserHund

8

ฉันเพิ่งเปลี่ยนโปรไฟล์ของฉันจาก "IIS Express" เป็น "MyProjectName" (ซึ่งฉันคิดว่าใช้ kestrel เป็นเซิร์ฟเวอร์ http แทน IIS) และตอนนี้ก็ทำงานได้ดี:

ป้อนคำอธิบายรูปภาพที่นี่


นี่ไม่ใช่วิธีแก้ปัญหา แต่เป็นวิธีแก้ปัญหา คำตอบของคุณแนะนำให้ใช้เซิร์ฟเวอร์ต่าง ๆ - เคส - ในขณะที่ OP พยายามพยายามให้ IIS-Express ทำงานอย่างชัดเจน
Prolog

2
หลังจากถอนขนสามวันวิธีนี้ช่วยฉันได้ ขอบคุณ
เมียร์

7

เพื่อ CLARIFY

คำตอบมากมายจริง ๆ ที่นี่เหมือนกันและพูดบางอย่างเช่น "เริ่มใหม่และทำงานได้อย่างน่าอัศจรรย์"

ดีจาก 9 ใน 10 ครั้งผู้คนมีปัญหาเช่น OP มันเป็นเพราะที่อยู่ IP ที่มีอยู่แล้วในการใช้งาน

ตอบ

อาจมี 2 ที่อยู่ IP ที่ใช้งานอยู่ ทั้งคู่คุณสามารถค้นหาได้โดย:

1) คลิกขวาที่โครงการเริ่มต้น

2) คลิกที่ "Properties"

3) คลิกที่แท็บ "Debug"

ที่นี่คุณจะเห็น "URL ของแอป" และ "SSL URL" ของคุณ

  • หาก "URL ของแอป" ของคุณใช้งานอยู่ให้เปลี่ยนไปที่นั่นและบันทึกไว้และมันจะทำงานได้อีกครั้ง

  • หากใช้ "SSL URL" ของคุณให้ปิด VS ลบไฟล์ "applicationhost.config" ในโฟลเดอร์. vs ที่ซ่อนอยู่ของโครงการของคุณและเปิด VS ขึ้นมาอีกครั้ง


6

ฉันสามารถสลับข้อผิดพลาดนี้โดยการเปลี่ยนสิ่งเดียว ในlaunchSettings.jsonไฟล์โครงการของ ASP.Net Core 1.0 RC2 Web Application ของฉัน:

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "https://localhost:18177/",
      "sslPort": 0
    }
  },

ถึง

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:18177/",
      "sslPort": 0
    }
  },

ฉันเปลี่ยนเป็น https ในความพยายามเรียกใช้โครงการโดยใช้โปรโตคอลนั้น เห็นได้ชัดว่านี่ไม่ใช่สถานที่ที่จะทำการเปลี่ยนแปลง ฉันสงสัยว่ามันกำลังสร้างการเชื่อมหลายรายการบนพอร์ตเดียวกันและ IIS Express ไม่ชอบสิ่งนั้น


ฉันต้องทำเช่นนี้เพื่อเพิ่มหมายเลขพอร์ต โพสต์ต้นฉบับของฉันถูก 'ติด' และตอนนี้ฉันไม่มีเวลารีบูตหรือหาวิธีแก้ไข
Simon_Weaver

6

ฉันมีปัญหาเดียวกันนี้ แต่วิธีที่ฉันแก้ไขมันก็คือไปที่ applicationhost.config และลบพอร์ตที่ไม่ได้เพิ่มโดยฉัน (IIS Express ฉันจะเดา) ซึ่งวางเว็บไซต์พอร์ตเฉพาะของฉันบนพอร์ตอื่น

นี่คือสิ่งที่ไฟล์ปรับแต่งมีไว้สำหรับการเชื่อมโยงของฉัน:

<bindings>
      <binding protocol="http" bindingInformation="*:54764:localhost" />
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

ฉันได้ลบรายการการผูกแรกเป็นพอร์ตเดียวที่ฉันต้องการคือ 44360 ตอนนี้ไฟล์ config ของฉันมีลักษณะเช่นนี้:

<bindings>
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

ตอนนี้ฉันไม่เห็นข้อผิดพลาดเมื่อทำการดีบัก

ฉันยังสังเกตเห็นว่า API ที่สองของฉันในโครงการของฉันมีพอร์ต 80 ที่กำหนดไว้เช่นกันฉันก็ลบออกเช่นกัน


5

ลบ bin และ obj จากโฟลเดอร์โครงการและสร้างใหม่


แม้ว่าการล้างด้วยตัวเองบ่อยครั้งจะช่วยได้ แต่ก็ไม่สามารถแก้ไขปัญหาได้ในกรณีนี้เนื่องจากปัญหาอยู่ในไฟล์ applicationhost.config และมักเกิดจากการพยายามใช้ที่อยู่ IP เดียวกันสองครั้ง
MedievalCoder

5

ฉันเพิ่งทำความสะอาดโซลูชันของฉันจากนั้นสร้างใหม่อีกครั้งและในที่สุดก็กด F5 และทำงานได้! ง่ายมาก


4

ฉันจะไม่แกล้งทำเป็นเข้าใจอย่างถ่องแท้ว่าข้อผิดพลาดของ MS สร้างปัญหานี้อย่างไร แต่นี่เป็นวิธีแก้ปัญหาอื่นที่อาจเกิดขึ้น:

ใน .vs ไฟล์ / config / applicationHost.config <system.applicationHost><applicationPools>ค้นหาส่วนสำหรับ ภายใต้กลุ่มตรวจสอบให้แน่ใจว่าmanagedRuntimeVersionค่าแอตทริบิวต์ตรงกับค่าที่อยู่ในการกำหนดค่า IIS สำหรับระบบ (และ / หรือรุ่นของกรอบงาน. NET ที่ติดตั้งไว้)

ตัวอย่างเช่นคุณอาจพบ (เหมือนที่ฉันทำ) ว่าไฟล์ที่สร้างมี:

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

ในกรณีของฉันคุณจะแทนที่ด้วย:

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0.30319" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

สังเกตการเปลี่ยนจาก "v4.0" เป็น "v4.0.30319" วิธีนี้แก้ไขปัญหาได้


สิ่งที่ดูเหมือนจะเกิดขึ้น:

ฉันเชื่อว่า VS กำลังสร้างไฟล์ applicationHost.config ด้วย "รุ่นเริ่มต้น" สำหรับ. NET Framework ซึ่งอาจไม่ตรงกับเวอร์ชันเฉพาะที่ติดตั้ง / กำหนดค่าบนระบบ คุณสามารถตรวจแก้จุดบกพร่อง / สังเกตปัญหานี้โดยการติดตามการดำเนินการในการตรวจสอบกระบวนการและการค้นหาบรรทัดคำสั่งสำหรับ iisexpress.exe การรันคำสั่งนี้พร้อมกับ/trace:errorเพิ่มข้อความที่ให้ข้อมูลเพิ่มเติมเกี่ยวกับความล้มเหลวในการโหลด CLR ด้วยรุ่น v4.0 เพื่อปัญญา:

การเริ่มต้น IIS Express ...
ล้มเหลวในขณะที่พยายามโหลด CLR เวอร์ชัน v4.0 ล่วงหน้า hr = 80131700
ล้มเหลวในการสร้างแรงบันดาลใจ W3WP_HOST ชม = 80131700
Process Model Shutdown เรียกว่า
ไม่สามารถเริ่ม iisexpress


อย่างไรก็ตามคิดว่านี่อาจเป็นประโยชน์กับคนอื่นเนื่องจากเป็นเรื่องปกติที่มีการอ้างอิงหลายทางออนไลน์ที่มีข้อมูลไม่ดี


ไม่ใช่โซลูชันเหล่านี้ที่เหมาะกับฉันหากคุณติดตั้ง Windows IIS เริ่มต้น (ซึ่งมาพร้อมกับ windows ของคุณ) และสามารถเข้าถึงได้ให้ลองใช้เพื่อแก้ไขปัญหาของฉันเพียงเพิ่มเว็บไซต์ใหม่หรือแอปพลิเคชันใหม่ที่นั่น อย่างไรก็ตามมันแปลกที่ IIS Express ไม่สามารถเปิดหน้าได้ หากคุณต้องการติดตามเพียงแค่แนบไปกับกระบวนการโดยใช้ctrl + alt + pปุ่มลัดและตรวจสอบShow process for all usersและเลือกw3wp.exe(บางครั้งจำเป็นต้องรีเฟรชเว็บไซต์เพื่อค้นหาw3wp.exe) จากนั้นกดAttachปุ่ม
Mohammad Musavi

3

ลองใช้วิธีนี้ก่อนหากใช้งานได้และหยุดกระทันหัน:

  • ปิด Visual Studio
  • ฆ่ากระบวนการ iisexpress.exe
  • เปิด Visual Studio อีกครั้ง

3

ของฉันเกิดขึ้นทันทีที่ฉันเพิ่มการเชื่อมโยงใหม่ภายใน applicationhost.config การทำงานในฐานะผู้ดูแลระบบแก้ไขปัญหาได้



3

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

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

ในการรับรายการแอปพลิเคชันที่ใช้พอร์ตที่เปิด CMD และพิมพ์ "netstat-aon" คุณจะได้รับรายการพอร์ต ค้นหาพอร์ตที่เว็บไซต์ของคุณควรใช้หรือคุณต้องการใช้และจดบันทึก / จำ PID

ตอนนี้เปิดตัวจัดการงานและคลิกที่แท็บ 'รายละเอียด' ค้นหากระบวนการด้วย PID ของคุณและสิ้นสุด ตอนนี้คุณควรเริ่ม IIS Express ด้วยพอร์ตนั้นได้


3

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


3

สำหรับฉันมันเป็นส่วนผสมของการทำตามคำแนะนำเหล่านี้:

ลบ. vs \ applicationhost.config จากเว็บแอปพลิเคชันของคุณแล้วลองอีกครั้ง

และที่สำคัญที่สุดคือเรียกใช้ Visual Studio ด้วยสิทธิ์ผู้ดูแลระบบ


3

ฉันเพิ่ม.UseUrls("https://localhost:<some port>/")ไปยัง Program.cs นี่ดูเหมือนจะเป็นการหลอกลวงสำหรับฉัน!


2

ฉันเพียงแค่สลับกับ "เปิดใช้งาน SSL" นี่เป็นการแก้ไขปัญหาของฉัน

  1. คลิกขวาที่โครงการเว็บ
  2. แท็บแก้ปัญหา
  3. สลับเปิดใช้งาน SSL "เปิด" (ถ้าปิดอยู่ซึ่งเป็นกรณีของฉัน)

2

ฉันเพิ่งพบปัญหาเดียวกันและฉันฆ่ากระบวนการ "iisexpress.exe" ทั้งหมดที่ยังคงทำงานอยู่ ที่ทำงานให้ฉัน!


2

โซลูชันของฉัน (สำหรับ. net core 2.0) คือฉันลืมที่จะเพิ่มหมายเลขพอร์ตใน applicationUrl ภายใต้ iisExpress ใน launchSettings.json

"iisExpress": {
  "applicationUrl": "https://localhost:50770",
  "sslPort": 50770
}

เมื่อlaunchSettings.jsonสร้างหรืออัปเดตโดยอัตโนมัติโดย VS applicationUrlควรจะมี/ในตอนท้าย ข้อมูลเพิ่มเติมสามารถพบได้ในblog.lextudio.com/…
Lex Li

2

ปัญหาอาจจะเป็นเพราะ[√] Enabled SSLได้รับเลือกสำหรับโครงการของคุณ (ดูDebugแท็บในโครงการหน้าต่างการตั้งค่า) แต่ Visual Studio http://localhost:32396ตัดสินใจที่จะเป็นใบ้และการตั้งค่าบางอย่างเช่น เหตุผลที่มันล้มเหลวคือเพราะ 1. ไม่ใช่HTTPSและ 2. ใบรับรองไม่ถูกต้อง หากต้องการบังคับคุณต้องใช้พอร์ตในช่วง 44300-44398

ดูhttps://stackoverflow.com/a/24957146/1236397



1

ลองเป็นคำสั่ง

taskkill /im iisexpress.exe /f
taskkill /im dotnet.exe /f

และกด f5 ฉันจะไม่เปลี่ยนพอร์ตลบไฟล์หรือรีบูต VS


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