พบแฟ้มการกำหนดค่า / metabase IIS Express อยู่ที่ไหน


คำตอบ:


548

แฟ้มการกำหนดค่าที่เรียกว่าApplicationHost.config มันถูกเก็บไว้ที่นี่:

เอกสารของฉัน> IIS Express> config

โดยปกติ แต่ไม่เสมอไปหนึ่งในเส้นทางเหล่านี้จะใช้ได้

%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config

อัปเดตสำหรับ VS2019
หากคุณใช้ Visual Studio 2019+ ให้ตรวจสอบเส้นทางนี้:

$(solutionDir)\.vs\{projectName}\config\applicationhost.config

อัปเดตสำหรับ VS2015 (เครดิต: @Talon)
หากคุณใช้ Visual Studio 2015-2017 ให้ตรวจสอบเส้นทางนี้:

$(solutionDir)\.vs\config\applicationhost.config

ใน Visual Studio 2015+ คุณยังสามารถกำหนดค่าไฟล์applicationhost.config ที่ใช้โดยเปลี่ยนการ<UseGlobalApplicationHostFile>true|false</UseGlobalApplicationHostFile>ตั้งค่าในไฟล์โครงการ (เช่น MyProject.csproj) (ที่มา: ฟอรัม MSDN )


4
โครงการ VS2015 ยังสามารถใช้ไฟล์กำหนดค่าส่วนกลาง มีการตั้งค่าโครงการที่ควบคุมซึ่งคุณอาจเพิ่ม
Lex Li

5
คุณบันทึกวันของฉัน ฉันแนะนำ ASP.NET 5 (vNext) ให้กับ sln ดังนั้นโครงการเว็บ ASP.NET 4.5 จะไม่ทำงาน แต่บ่นเกี่ยวกับกระบวนการไม่ทำงาน หลังจากลบโฟลเดอร์. vs พร้อมกับ $ (solutionDir) \. vs \ config \ applicationhost.config สิ่งต่าง ๆ จะทำงานอีกครั้ง :)
ZZZ

1
สำหรับการอ้างอิงคำสั่งที่จะเริ่มต้น IIS ด่วนตามเอกสาร ): > iisexpress /config:config-file /site:site-nameซึ่งเป็นเส้นทางที่เต็มไปด้วยconfig-file applicationhost.configดูคำตอบจาก @CosCallis เกี่ยวกับวิธีที่ง่ายที่สุดในการรับเส้นทางนี้ site-nameควรจะตรงกับหนึ่งในรายชื่อที่อยู่ในส่วนของ<sites> applicationhost.config
Alex Fainshtein

หากคุณต้องการปิดการใช้งานบันทึกในระหว่างการพัฒนาค้นหาโหนดและตั้ง / เพิ่มเปิดใช้งานเป็นเท็จ <siteDefaults> <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" enabled="false"/> <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="false" maxLogFileSizeKB="1024" /> </siteDefaults>
Gutek

ขอขอบคุณที่ชี้การอัปเดตไปที่ VS2019 กำลังโยกย้ายและสงสัยว่าทำไมไฟล์ปรับแต่งของฉันไม่เปลี่ยนพฤติกรรมของ IIS Express
กริมม์

95

นับตั้งแต่เปิดตัว Visual Studio 2015 ตำแหน่งนี้มีการเปลี่ยนแปลงและถูกเพิ่มเข้าไปในรูทโซลูชันของคุณภายใต้ตำแหน่งต่อไปนี้:

C:\<Path\To\Solution>\.vs\config\applicationhost.config

ฉันหวังว่านี่จะช่วยให้คุณประหยัดเวลา!


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

90

สำหรับ VS 2015 & VS 2017 : คลิกขวาที่ไอคอนถาดระบบ IIS Express (เมื่อเรียกใช้แอปพลิเคชัน) และเลือก "แสดงแอปพลิเคชันทั้งหมด":

เมนูบริบทสำหรับไอคอนถาดระบบ IIS Express แสดงทางเลือก "แสดงแอปพลิเคชันทั้งหมด" ที่เป็นทางเลือก

จากนั้นเลือกแอ็พพลิเคชันที่เกี่ยวข้องและคลิกพา ธ ไฟล์ applicationhost.config:

ไดอะล็อกแสดงเว็บไซต์โดยไม่ตั้งใจพร้อมกับเส้นทางไฟล์ applicationhost.config


3
เพราะนี่คือคำตอบที่จะพาคุณไปสู่เส้นทางที่ถูกต้องทุกครั้งดังนั้นนี่จึงเป็นคำตอบที่ได้รับการยอมรับ
Lewis Cianci

@ cos-callis เกี่ยวกับการแก้ไขของคุณพฤติกรรมถาดระบบ IIS Express ขึ้นอยู่กับ Visual Studio จริงหรือ

@ BjörnAliGöranssonไม่มีระบบ VS 2013 ที่ใช้งานได้ฉันไม่สามารถย้อนกลับไปตรวจสอบได้ แต่ฉันรู้ว่ามันใช้งานได้กับ VS 2015/17 และฉันรู้ว่าก่อนปี 2015 สถานที่ตั้งของข้อมูลการกำหนดค่าคือ ต่าง มากที่สุดเท่าที่ฉันรู้สึกผิดหวังกับคำถามและคำตอบที่ปรากฏขึ้นในการค้นหาที่คำตอบ 'ยอมรับ' นั้นโบราณและล้าสมัยดังนั้นฉันรู้สึกว่ามันคุ้มที่จะเพิ่มว่า 'ณ วันนี้' คำตอบของคุณนั้นใช้ได้ใน 2015/17 '... ไม่มีสัญญาว่าจะเป็นจริงหรือไม่ใน VS 2019 +++ :)
Cos Callis

ฉันได้รับคะแนนของคุณแล้ว แต่ฉันคิดว่า IIS Express ได้รับการปล่อยตัวด้วย / เหมือนกับ VS 2012 ก่อนหน้านั้นมีเพียง Cassini - IIRC ???

ตรวจสอบประวัติชิ้นนี้ตั้งแต่ปี 2011: abhijitjana.net/2011/08/05/… "Visual Studio 2010 SP1 ให้การทำงานร่วมกับ IIS Express อย่างสมบูรณ์"

52

ที่จะมาเต็มวงและรวมทุกรุ่นของ Visual Studio, @Mysterเดิมระบุไว้ว่า;

Pre Visual Studio 2015 พา ธไปยัง applicationhost.config ได้แก่ :

%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config

Visual Studio 2015/2017สามารถดูเส้นทางได้ที่: ( เครดิต: @Talon )

$(solutionDir)\.vs\config\applicationhost.config

Visual Studio 2019เส้นทางสามารถพบได้ที่: ( เครดิต: @Talon )

$(solutionDir)\.vs\config\$(ProjectName)\applicationhost.config

แต่ส่วนหนึ่งที่อาจได้รับบางคนคือการตั้งค่าโครงการในแฟ้ม .sln สามารถ repopulate ApplicationHost.config สำหรับVisual Studio 2015+ ( เครดิต: @Lex Li )

ดังนั้นหากคุณทำการเปลี่ยนแปลงใน applicationhost.config คุณต้องตรวจสอบให้แน่ใจว่าการเปลี่ยนแปลงของคุณตรงกับที่นี่:

$(solutionDir)\ProjectName.sln

การตั้งค่าที่สำคัญทั้งสองควรมีลักษณะดังนี้:

Project("{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}") = "ProjectName", "ProjectPath\", "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"

และ

VWDPort = "Port#"

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


2

สำหรับVisual Studio 2019 (v16.2.4)ฉันพบไฟล์นี้ได้ที่นี่เท่านั้น:

C: \ Documents ผู้ใช้ \\ \ IISExpress \ Config \ ApplicationHost.config ApplicationHost.config

หวังว่านี่จะช่วยได้เพราะฉันไม่สามารถค้นหาตำแหน่งโฟลเดอร์. vs ดังที่กล่าวไว้ในคำแนะนำข้างต้น


%userprofile%\documents\iisexpress\config\applicationhost.configนี้จะเทียบเท่ากับข้อเสนอแนะแรกของ แม้ว่าถ้าคุณเรียกใช้ผ่าน visual studio ฉันคาดว่าจะใช้หนึ่งในไดเรกทอรี. vs
Myster

0

ฉันคิดว่าคำตอบทั้งหมดที่นี่มีความเกี่ยวข้อง แต่ถ้าอย่างฉันคุณกำลังมองหาที่ Visual Studio ใช้แม่แบบจากเมื่อมันสร้างapplicationHost.configเวอร์ชั่นใหม่จากนั้นคุณสามารถดูที่นี่:

C:\Program Files (x86)\IIS Express\config\templates\PersonalWebServer

สิ่งนี้จะเกิดขึ้นมากมายหากคุณมักจะทำงานในหลายสาขาของโครงการเดียวกันและกด 'ดีบั๊ก' ในหลาย ๆ สาขา การแก้ไขที่นี่จะช่วยให้มั่นใจได้ว่าการแก้ไขเผยแพร่ไปยังโฟลเดอร์โครงการ / โซลูชันใหม่ที่สร้างขึ้น

คำตอบมาจากคำตอบนี้ทางอ้อม

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