IIS ไม่แสดงรายการเว็บไซต์ที่ตรงกับ URL การเรียกใช้


170

ฉันต้องการแก้ไขข้อบกพร่องของเว็บไซต์ที่ฉันกำลังพัฒนา (ASP.NET MVC3, Razor, .NET 4, VS2010 SP1 (ในฐานะผู้ดูแลระบบ)) ใน IIS7 (Home Vista) และได้รับข้อผิดพลาด:

IIS ไม่แสดงรายการเว็บไซต์ที่ตรงกับ URL การเรียกใช้

เพื่อทดสอบว่าต้องทำอะไรกับการตั้งค่าของแอพฉันสร้างจากเว็บไซต์ ASP.NET MVC3 ใหม่ที่ว่างเปล่าตั้งค่าสำหรับ IIS สร้างไดเรกทอรีเสมือนเปิดตัวด้วย F5 และฉันทำงานได้ดี!

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

นี่ทำให้ฉันคิดว่าฉันมีปัญหาการกำหนดค่า! แต่อะไร? ในอดีตฉันใช้ IIS หายากมากดังนั้นความรู้ของฉันจึง จำกัด ในทิศทางนี้

คำใบ้ใด ๆ

คำตอบ:


343

ฉันเกลียดการตอบคำถามของฉัน: ในคำถามของฉันฉันระบุว่าฉันใช้ VS ภายใต้บัญชีผู้ดูแลระบบ นี่ไม่เป็นความจริง !!!

ดังนั้นวิธีแก้ปัญหา (สำหรับฉัน) ก็คือการเรียกใช้ VS2010 ในฐานะผู้ดูแลระบบ (Start-> ในเมนู Vista คลิกขวา -> เรียกใช้ในฐานะผู้ดูแลระบบ) ... ง่ายมาก

ในฐานะที่เป็นผลข้างเคียง: VS2010 ให้ฉันยังสร้างไดเรกทอรีเสมือนโดยไม่มีปัญหาใด ๆ (ก่อนหน้านั้นฉันได้รับข้อความแสดงข้อผิดพลาดที่ระบุว่าฉันต้องปรับด้วยตนเองเหล่านี้)


153
# @ $% ing Run as Administratorอาจทำให้เราเสียค่าใช้จ่ายนักพัฒนาประมาณ 400,000 ปีในระยะเวลาการพัฒนาที่หายไปในช่วง 6 หรือ 7 ปีที่ผ่านมา
joshcomley

7
ในฐานะที่เป็นเคล็ดลับให้ตั้งค่าทางลัด VS เพื่อเรียกใช้ในฐานะผู้ดูแลระบบดังนั้นคุณไม่ต้องคลิกขวาเรียกใช้เป็น ... ตลอดเวลา
ไบรอัน

21
ยังคงเป็นกรณีใน VS2013
Zar Shardan

31
ยังคงเป็นกรณีใน VS2015
Mario Levrero

11
ยังคงเป็นกรณีใน VS2017
Attila Molnár

61

คุณสามารถตั้งค่า Visual Studio ให้ทำงานในฐานะผู้ดูแลระบบได้ตลอดเวลา Right click on the shortcut => properties => Advanced => tick on run as administrator.

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

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


ขอบคุณ แต่ใช้ไม่ได้สำหรับฉันโปรดอ้างอิงคำตอบของฉัน
QMaster

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

1
มันใช้งานได้จริงสำหรับฉันที่ไอคอนแถบงานของฉันใน windows 10 แต่เฉพาะเมื่อคลิกที่ไอคอนโดยตรง คลิกขวาที่ไอคอนและเลือกโซลูชันเพื่อเปิดไม่ได้เปิด visual studio ในโหมดผู้ดูแลระบบแม้ว่าจะน่าเศร้า ฉันต้องใช้คำตอบของ QMasterเพื่อให้ได้ผล
user1568891

สำหรับ Windows 10 ให้ไปที่ devenv.exe คลิกขวาแล้วเลือก "แก้ไขปัญหาความเข้ากันได้" ในส่วนถัดไปให้เลือกแก้ไขปัญหาโปรแกรมแล้วโน้มน้าวให้ผู้ดูแลระบบทำเครื่องหมายที่ช่อง "โปรแกรมต้องการสิทธิ์เพิ่มเติม" นั่นเป็นวิธีที่คุณจะติดไว้กับทางลัดทั้งหมดรวมถึงโซลูชันที่ปักหมุดไว้
David Storfer

สิ่งนี้ทำให้ฉันถูกติด้วยเช่นกัน การทำงานในฐานะผู้ดูแลทำให้มันทำงานได้อีกครั้งนั่นคือฉันสามารถดีบักแอปพลิเคชันของฉันที่ทำงานภายใต้ IIS ใน Visual Studio อีกครั้ง
Tore Aurstad

12

ฉันใช้ Visual Studio 2013 และตั้งค่าสิทธิ์ผู้ดูแลระบบสำหรับทางลัดเนื่องจาก @karim บอกว่าไม่ทำงานสำหรับฉันดังนั้นฉันจึงไปที่ไฟล์ devnev.exe และตั้งค่าสิทธิ์ผู้ดูแลระบบในแท็บที่เข้ากันได้ ฉันไม่ต้องการเพิ่มนี่เป็นคำตอบ แต่ฉันไม่สามารถกำหนดรูปภาพได้ดังนั้นตัดสินใจที่จะโพสต์มันเป็นคำตอบใหม่

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

หวังว่านี่จะช่วยได้


1
หากคุณไม่ได้มีแท็บความเข้ากันได้ลองทำตามคำแนะนำเหล่านี้
ruffin

8

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

หลังจากนั้นสร้างใหม่และใช้งานได้

แก้ไข: (ติดตามความคิดเห็น)

ส่วนที่ 2 เป็นที่สนใจโดยเฉพาะ มันระบุว่า:

ในการเปิดใช้งานการดีบัก F5 คุณจะต้องมีส่วนประกอบต่อไปนี้เป็นอย่างน้อย:

  • ASP.NET
  • โมดูลการพิสูจน์ตัวจริงของ Windows (ให้การสนับสนุนการรับรองความถูกต้อง Windows ด้วย NTLM และ Kerberous)
  • Metabase ความเข้ากันได้เลเยอร์ (ให้การสนับสนุนสำหรับ API การกำหนดค่า IIS ดั้งเดิมที่ใช้โดยซอฟต์แวร์ที่มีอยู่เพื่อจัดการ IIS โปรดทราบว่านี่เป็นสิ่งจำเป็นในการเชื่อมต่อกับแอปพลิเคชัน ASP.NET ของคุณจาก Visual Studio แม้กระทั่งก่อนที่คุณ

ติดตั้งจากแผงควบคุม> โปรแกรม> เปิดและปิดคุณสมบัติ Windows:

แก้ไข: (เพิ่มเส้นทางไปยังคุณสมบัติ):

  • บริการข้อมูลทางอินเทอร์เน็ต -> บริการเวิลด์ไวด์เว็บ -> ความปลอดภัย -> การพิสูจน์ตัวจริงของ Windows
  • บริการข้อมูลทางอินเทอร์เน็ต -> เครื่องมือการจัดการเว็บ -> ความเข้ากันได้ของการจัดการ IIS 6 -> IIS Metabase และความเข้ากันได้ของการกำหนดค่า IIS 6

หากลิงก์นั้นตายคำตอบของคุณจะยังคงมีประโยชน์หรือไม่
Kirk Woll

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

5
"อ้างอิงส่วนที่เกี่ยวข้องที่สุดของลิงก์สำคัญเสมอในกรณีที่ไซต์เป้าหมายไม่สามารถเข้าถึงหรือออฟไลน์อย่างถาวร" @ stackoverflow.com/help/how-to-answer
Joel Peltonen

1

ฉันมีปัญหานี้ในเครื่องใหม่ - ทำงานในฐานะผู้ดูแลระบบไม่ได้ช่วย การแก้ปัญหาคือการดำเนินการaspnet_regiis.exe -iครั้งแรก จะต้องมีการเรียกใช้จากพรอมต์คำสั่งที่ได้รับการเริ่มต้นในฐานะผู้ดูแลระบบ โดยทั่วไปแล้ว exe สามารถพบได้ในC:\Windows\Microsoft.NET\Framework\v4.0.30319- หากคุณต้องการเปลี่ยนคุณมักจะรู้ว่าจะต้องเปลี่ยนแปลงอะไร

หากต้องการเรียกใช้โปรแกรมในฐานะผู้ดูแลระบบโดยไม่ต้องคลิกขวาให้เปิดแท็บความเข้ากันได้ของคุณสมบัติทางลัด VS และเลือก "เรียกใช้โปรแกรมนี้ในฐานะผู้ดูแลระบบ" สำหรับขั้นตอนอย่างละเอียดดูที่http://technet.microsoft.com/en-us/magazine/ff431742.aspx


@monstro ดูเหมือนว่าปัญหาของคุณเกิดจากสิ่งอื่นนอกเหนือจากปัญหาที่คำตอบของฉันหรือของคนอื่น ๆ ที่รวมอยู่ในที่อยู่ "เหล่านี้"
Joel Peltonen

สิ่งนี้ใช้ไม่ได้กับเครื่องที่ฉันเชื่อว่าเป็น Windows 8+ ใช้งานได้กับเครื่อง Win7 เท่านั้น คุณต้องลงทะเบียน IIS frameworks ใหม่โดยการดาวน์โหลดจาก MSDN หรือโดยการเพิ่มผ่านโปรแกรมและคุณสมบัติ> เปิดหรือปิดคุณสมบัติ Windows>. NET Framework 4.6 Advanced Services> ASP.NET 4.6 ณ จุดนั้นคุณไม่ควรมีปัญหาในการใช้งานเป็นผู้ดูแลระบบ (เครื่องของฉัน = ชนะ X)
cr1pto

1
  1. เริ่ม >> แผงควบคุม >> คลิกโปรแกรม

  2. คลิกเปิดหรือปิดคุณสมบัติ Windows

  3. ในกล่องโต้ตอบการควบคุมบัญชีผู้ใช้คลิกดำเนินการต่อ

  4. ขยายบริการข้อมูลทางอินเทอร์เน็ตขยายเครื่องมือการจัดการเว็บแล้วขยายความเข้ากันได้ของ IIS 6 Management

  5. คลิกเพื่อเลือกกล่องกาเครื่องหมาย IIS Metabase และ IIS 6 และจากนั้นคลิกตกลง


0

สิ่งนี้ใช้ได้กับฉันฉันอัปเดตเวอร์ชัน VS 2017 เป็นเวอร์ชัน 15.4.2 ทำงานกับผู้ดูแลระบบลบไฟล์โฟลเดอร์เอกสาร (Visual Studio 2017) และรีสตาร์ทพีซี

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