“ Parser Error Message: ไม่สามารถโหลดประเภท” ใน Global.asax


203

ฉันกำลังทำงานกับโครงการ MVC3 และได้รับข้อผิดพลาดดังต่อไปนี้:

ข้อความแยกวิเคราะห์ข้อผิดพลาด: ไม่สามารถโหลดประเภท 'GodsCreationTaxidermy.MvcApplication'

ข้อผิดพลาดของแหล่งที่มา:

บรรทัด 1: <%@ Application Codebehind="Global.asax.cs" Inherits="GodsCreationTaxidermy.Core.MvcApplication" Language="C#" %>

ข้อผิดพลาดที่ฉันได้รับไม่สามารถโหลด GodsCreationTaxidermy.Core.MvcApplication ได้ แต่ในหน้าจอนี้ shot ส่วน Core ไม่แสดงในข้อผิดพลาด:

ภาพหน้าจอข้อผิดพลาด

ไม่มีใครมีแนวคิดหรือวิธีแก้ไขข้อผิดพลาดนี้หรือไม่?


8
คุณมีคลาส GodsCreationTaxidermy.Core.MvcApplication ในใบสมัครของคุณหรือไม่? ถ้าไม่ใช่โปรดสร้างโครงการเดียวกันและคอมไพล์ มันจะทำงานได้อย่างแน่นอน
— Shailesh

4
ใช่ฉันมี GodsCreationTaxidermy.Core.MvcApplication (Global.asax.cs)
— PsychoCoder

ไฟล์ Global.asax ที่ดูเหมือนว่าจะใช้งาน (ตามภาพหน้าจอ) นั้นดูแตกต่างจากไฟล์ที่คุณแสดง
— ดารินทินดิมิทรอฟ

ตรวจสอบเพื่อดูว่าสตริงสืบทอดเป็นเหมือนเส้นทางไปยังชั้นเรียนในใบสมัครของคุณ (namespace + ชื่อพา ธ ) นั่นคือพวกเขาทั้ง GodsCreationTaxidermy.Core.MvcApplication
— linkerro

นั่นเป็นหนึ่งในปัญหาที่ดารินไม่ว่าฉันจะทำอะไรออกไปจากส่วนหลักเสมอ
— PsychoCoder

คำตอบ:


175

เว็บเซิร์ฟเวอร์ในพื้นที่ของคุณกำลังเรียกใช้รหัสที่แตกต่างจากที่คุณใช้งานจริง ตรวจสอบให้แน่ใจว่าคุณหยุดการดีบักหยุดเว็บเซิร์ฟเวอร์ในพื้นที่ของคุณทำความสะอาดและสร้างใหม่ตามที่ Peter แนะนำให้ตรวจสอบ global.asax และ global.asax.cs ของคุณอีกครั้งและลองอีกครั้ง

หากวิธีนี้ใช้ไม่ได้และคุณใช้ IIS ในเครื่องให้ลองลบไซต์ในตัวจัดการ IIS แล้วสร้างมันใหม่ด้วยตนเอง


4
ข้อผิดพลาดที่แปลกมากอย่างแน่นอน ฉันปรับใช้กับ IIS บนเซิร์ฟเวอร์และได้รับสิ่งนี้ ทำความสะอาดและคอมไพล์แล้วก็ทำงานให้ฉันด้วย
— Piotr Kula

2
ล้าง / สร้างใหม่ + สร้างไดเรกทอรีเสมือนใหม่จากนั้นทำงาน
— fantastik78

4
มีปัญหาเมื่อฉันมีโครงการเดียวกันเปิดในสองอินสแตนซ์ของ Visual Studio ดังนั้นฉันจึงเรียกใช้ IIS Express สองอินสแตนซ์ ฉันต้องปิดมันแล้วมันก็ถูกแก้ไข
— lvmeijer

4
คุณสามารถลองลบโฟลเดอร์ bin / obj ในโครงการของคุณ
— arni

1
ฉันทำตามคำแนะนำเหล่านี้และเพิ่มการทำความสะอาด / สร้างใหม่อีกสองสามครั้งเปลี่ยนช่องว่างในไฟล์. asax จัดรูปแบบจอภาพใหม่อีกครั้ง
— MrBoJangles

206

ตรวจสอบว่าเส้นทางออกโครงการ (คุณสมบัติของโครงการ / รูปร่าง) ตั้งbinและไม่ได้ bin\Releaseหรือbin\Debug

ด้วยเหตุผลบางประการ IIS (VS Development Server หรือ Local IIS) เข้าถึงไลบรารีจากbinไดเรกทอรีเสมอ (และจะไม่ค้นหาไดเรกทอรีย่อย)


27
เครดิตที่มันครบกำหนด แก้ไขปัญหาของฉันแอปพลิเคชันของฉันถูกตั้งค่าให้ใช้ bin \ Debug เปลี่ยนเป็นถังเพื่อแก้ไข ขอบคุณมาก.
— Joey Bob

เป็นที่น่าสนใจที่จะเรียนรู้ว่าโครงการ ASP.NET ไม่ได้ใช้ถาดเส้นทางออกเริ่มต้น / $ (การกำหนดค่า) / ขอบคุณมากสำหรับคำตอบ!
— Jaanus Varus

2
@JamesPusateri: ระวังหน่อย ทุกครั้งที่คุณเปิดตัวมันจะใช้สิ่งที่อยู่ใน / bin ดังนั้นอาจเป็นผลของการสร้างครั้งนี้ที่คุณสร้างขึ้นหลังจากที่คุณเปลี่ยนมัน
— Vincent de Lagabbe

1
ว้าวที่ปี 2018 IIS ยังคงทำงานในลักษณะนี้ แย่มากแย่กับ Microsoft ขอบคุณ!
— Rodrigo T.

1
ไม่มีการเปลี่ยนแปลงใด ๆ มาเกือบ 7 ปีแล้วคำแนะนำยังคงช่วย
— Yuriy Vikulov

33

ลองปรับเปลี่ยนไฟล์ global.asax ของคุณ (เพิ่มช่องว่างอย่างง่ายๆ) แล้วเรียกใช้ใหม่ สิ่งนี้จะบังคับให้เว็บเซิร์ฟเวอร์ในตัวรีเฟรชและคอมไพล์ไฟล์ global.asax ใหม่

ทำความสะอาดและสร้างใหม่ - ควรแก้ไขปัญหาด้วย


4
การปรับเปลี่ยน global.asax ไม่ได้ทำอะไรสำหรับฉัน แต่สะอาดและสร้างแก้ไขปัญหา :)
— NightShovel

ฉันมีปัญหานี้เมื่อพลังงานหมด ทำความสะอาดและสร้างใหม่ช่วย ขอบคุณ!
— Gorgi Rankovski

การทำความสะอาดล้มเหลว งานสร้างล้มเหลว ฉันไม่มีปัญหากับเส้นทางการสร้างของฉัน อย่างไรก็ตามเรื่องนี้ได้หลอกลวง ขอบคุณ!
— egandalf

ขอบคุณสำหรับคำตอบของคุณนาย Munnings
— dada

30

สิ่งนี้เกิดขึ้นบางครั้งถ้าคุณเปลี่ยนข้อมูลเนมสเปซ (ระดับโครงการหรือระดับชั้นเรียน) หลังจากที่global.asaxสร้าง

คลิกขวาที่Global.asaxไฟล์และเลือก "เปิดด้วย" แล้วเลือก "ตัวแก้ไข XML (ข้อความ) พร้อมการเข้ารหัส" (ตัวแก้ไขอื่นอาจทำงานได้เช่นกัน แต่นี่คือสิ่งที่ฉันใช้)

จากนั้นแก้ไขส่วน "รับช่วง" ในคำสั่ง XML

<% @ แอปพลิเคชัน Codebehind = "Global.asax.cs " Inherits = "GodsCreationTaxidermy.MvcApplication"ภาษา = "C #"%>)

เพื่อให้ตรงกับชื่อเต็มจริงของคลาสแอปพลิเคชันของคุณ และนั่นคือมัน

อีกทางเลือกหนึ่งคือการคัดลอกรหัสของคุณทั้งหมดจาก Global.asax.cs แล้วลบและสร้างไฟล์ Global.asax อื่น (จากนั้นคัดลอกรหัสกลับสู่ Global.asax.cs)


สิ่งนี้ได้ผลกับฉันด้วย ฉันเปลี่ยนเนมสเปซสำหรับแอสเซมบลีสำหรับโครงการทั้งหมดในโซลูชัน ดังนั้นต้องแก้ไขGlobal.asaxไฟล์ตามที่ระบุไว้ในคำตอบนี้และทำให้มันตรงกับสิ่งที่อยู่ในการตั้งค่าการกำหนดค่าโครงการ
— พระอิศวร

21

ฉันปิดและเปิดสตูดิโอภาพขึ้นใหม่และใช้งานได้


4
ปิดสตูดิโอภาพทั้งหมดของคุณ
— Jboy Flaga

11
ก่อนอื่นเราทุกคนควรลองออกจากรถปิดประตูทั้งหมดแล้วกลับเข้ามาอีกครั้ง
— Pajics

ไม่คุณต้องปิดประตูทุกคันในเวลาเดียวกัน
— BlackICE

17

ฉันต้องไปที่ BUILD -> MANAGER CONFIGURATION MANAGER และ - ahem - ทำเครื่องหมายที่ช่องถัดจากโครงการของฉันเพื่อให้แน่ใจว่ามันจะถูกสร้างขึ้นจริง


2
ฉันไม่เข้าใจ downvote นี่อาจเป็นวิธีแก้ปัญหา อันนี้มีความเกี่ยวข้องมากกว่าที่คนส่วนใหญ่คิดว่า ... หากไม่ได้เลือกก็ไม่ได้เป็นตำแหน่งที่ชัดเจนที่สุดเสมอไป โดยเฉพาะเมื่อมีการกำหนดค่าหลายอย่าง
— Anthony Mason

ฉันชอบคำตอบและเหตุผลของคุณ!
— UKM

1
นี่คือปัญหาของฉันเช่นกันและฉันก็ไม่รู้ว่าโครงการได้ถูกยกเลิกการเลือกจากการกำหนดค่าอย่างไร
— เซท

5

ฉันมีปัญหานี้วันนี้และฉันใช้เวลาสักครู่เพื่อค้นหาสาเหตุ

โดยทั่วไปโครงการ VS2015 หลักของฉันคือการรวมโครงการย่อยที่สร้างขึ้นโดยใช้. Net Framework เวอร์ชันที่สูงขึ้น

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

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

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

ตรวจสอบOutputหน้าต่างของคุณเพื่อดูข้อความเช่นนี้:

The primary reference "C:\Projects\Business Objects 4\bin\Release\BusinessObjects.dll" 
could not be resolved because it was built against 
the ".NETFramework,Version=v4.5" framework. 
This is a higher version than the currently targeted framework
".NETFramework,Version=v4.0".

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

เป็นเรื่องน่ารำคาญที่ Visual Studio 2015 จะช่วยให้คุณสร้างและเรียกใช้โซลูชันที่ประกอบด้วยปัญหานี้อย่างเงียบ ๆ มันกำลังถามหาปัญหา .. !


2

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


2

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

ฉันต้องลบ global.asax.cs แล้วเพิ่มใหม่โดยคลิกขวาที่โครงการ -> เพิ่มรายการใหม่ -> Global.asax และนั่นก็แก้ไขมันในที่สุด

แค่คิดว่ามันอาจช่วยใครซักคน


หากวิธีนี้แก้ไขได้สำหรับคุณอาจมีบางอย่างเกิดความสับสนเกี่ยวกับคุณสมบัติ "Build action" ของglobal.asax.csไฟล์ที่มีอยู่ ควรตั้งค่าเป็น "รวบรวม" การดำเนินการ build ของglobal.asaxไฟล์นั้นควรถูกตั้งเป็น "เนื้อหา"
— Steven Liekens

ฉันทำสิ่งที่ @iAteABug_And_iLiked_it อย่างแน่นอนและปัญหาได้รับการแก้ไข!
— zinczinc

2

ฉันต้องรายงานว่าฉันได้ลองอย่างน้อย 4 ข้อเสนอแนะจากโพสต์นี้ ไม่มีใครทำงานเลย แต่ฉันก็ยินดีที่จะรายงานว่าฉันกู้คืนได้โดยการเรียกคืนจากการสำรองข้อมูล ต้องอัปเดตการเปลี่ยนแปลงรหัสล่าสุดของฉันจากไฟล์บันทึกเท่านั้น ใช้เวลาน้อยกว่า 10 นาที ใช้เวลา 3 ครั้งในการอ่านโพสต์นี้และลองคำแนะนำอื่น ๆ ขอโทษ

มันเป็นข้อผิดพลาดที่แปลกมาก ขอให้โชคดีที่ทุกคนประสบเกรทลินนี้


2

ฉันมีปัญหาเดียวกันเมื่อฉันมี Visual Studio 2 อินสแตนซ์ที่ทำงานโครงการเดียวกัน ดังนั้นฉันจึงปิดทั้ง Visual Studio และเปิดอินสแตนซ์เดียวเท่านั้นและมันใช้ได้ดีตอนนี้!


2

ฉันกำลังทำงานในโครงการเว็บ ASP.NET 'โฟลเดอร์ที่ใช้' เก่ากว่า (ซึ่งฉันเกลียด) - และพบว่านี่เป็นการแก้ไขของฉัน:

สร้างApp_Codeโฟลเดอร์ (หากคุณยังไม่มี)

ย้ายGlobal.asax.vbไฟล์ลงในApp_Codeโฟลเดอร์

มาร์กอัปใน Global.asax สามารถออกจาก namespaces ใด ๆ (อย่างน้อยสำหรับรูปแบบของโครงการนี้ afaik):

<%@ Application Codebehind="Global.asax.vb" Inherits="MyApp" Language="VB" %>

... โดยที่ "MyApp" เป็นชื่อของคลาสที่กำหนดไว้ใน Global.asax.vb


2

"BUILD -> MANAGER การกำหนดค่าและ - อะแฮ่ม - ทำเครื่องหมายที่ช่องถัดจากโครงการของฉันเพื่อให้แน่ใจว่ามันจะถูกสร้างขึ้นจริง ๆ " และไปที่โฟลเดอร์โครงการใน windows explorer กดตัวเลือกและยกเลิกการเลือกช่องทำเครื่องหมาย "อ่านอย่างเดียว" ช่วย


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

1

ล้างโฟลเดอร์ bin สร้างไลบรารีคลาสแบบพึ่งพาทั้งหมดและอ้างอิงในโครงการหลักและสร้างโซลูชันที่สมบูรณ์

แหล่ง


1

ฉันก็ประสบปัญหาเดียวกัน แม้จะทำตามทุกคำตอบ แต่ก็ไม่ได้ผล จากนั้นฉันเปลี่ยน "Inherits = namespace.class " เป็น "Inherits = ชื่อชุดประกอบแบบเต็ม " เช่น "Inherits = namespace.class, ชุดประกอบ, รุ่น =, วัฒนธรรม =, PublicKeyToken = " หวังว่าจะช่วยได้


1

สิ่งนี้อาจเกิดขึ้นได้หากคุณลืมตั้งค่าโซลูชัน VS เป็น "โครงการเริ่มต้นหลายรายการ" โดยไม่ตั้งใจหากคุณใช้งานเว็บและ WebApi จากโซลูชันเดียวกัน

คุณสามารถตรวจสอบได้โดยคลิกขวาที่โซลูชันใน Solution Explorer และเลือก 'คุณสมบัติ' จากนั้นมองหา 'โครงการเริ่มต้น'


ฉันมีความคล้ายคลึงกับสิ่งนี้: ฉันกำลังใช้งานโครงการ API ที่ไม่ถูกต้องในโซลูชัน ฉันมีข้อผิดพลาดในการคอมไพเลอร์ใน API ฉันคิดว่าฉันกำลังทำงานอยู่ แต่ VS ไม่ได้รับมันเมื่อฉันวิ่งทางออกแม้หลังจากทำความสะอาด
— จอห์น

1

ลบ.vsไดเร็กทอรีออกจากรูทโซลูชัน สะอาด สร้างใหม่

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


หลายชั่วโมงของการลองใช้คำแนะนำอื่น ๆ นับพันและนี่เป็นข้อเสนอแนะสำหรับฉัน แอปพลิเคชันของฉันทำงานได้ดีใน Visual Studio ทั้งในการดีบักและการกำหนดค่าการเผยแพร่ แต่เมื่อเผยแพร่ไปยัง IIS ฉันได้รับข้อผิดพลาด การลบโฟลเดอร์. vs และการปรับใช้อีกครั้งสามารถแก้ไขปัญหาได้
— Philip Stratford

1

ใช่ฉันอ่านคำตอบทั้งหมด อย่างไรก็ตามหากคุณเป็นฉันและดึงสิ่งที่เหลืออยู่ในเส้นผมออกมาให้ลองตรวจสอบโฟลเดอร์ \ bin เช่นเดียวกับไฟล์ proj ส่วนใหญ่อาจมีการกำหนดค่าหลายอย่างภายใต้องค์ประกอบ XML PropertyGroupจากนั้นฉันเปลี่ยนOutputPathค่าจาก 'bin \ Debug' เพื่อลบส่วน '\ Debug' และสร้างใหม่ สิ่งนี้วางไฟล์ในโฟลเดอร์ \ bin ที่อนุญาตให้ Express IIS ค้นหาและโหลดบิลด์ ฉันเหลือสงสัยว่าวิธีใดที่ถูกต้องในการจัดการบิลด์ที่แตกต่างกันเหล่านี้เพื่อให้การปรับใช้ดีบักในเครื่องสามารถค้นหาและโหลดสภาพแวดล้อมเป้าหมายได้


นี่เป็นสิ่งเดียวที่ทำงานได้ ศพที่ฝังอยู่มากมาย ... มันเป็นอย่างนี้ที่ทำให้ข้าพิจารณาอาชีพอื่นอย่างจริงจัง
— doveryai

0

ปัญหานี้ฉันได้รับการแก้ไขโดยให้สิทธิ์ที่ถูกต้องของโฟลเดอร์รวมทั้งตรวจสอบจาก IIS

ฉันได้รับอนุญาตให้ทุกคนขณะที่ฉันกำลังทดสอบในสภาพแวดล้อมท้องถิ่นของฉัน แต่ในโหมดการเผยแพร่ฉันคิดว่าเราให้สิทธิ์แก่ผู้ใช้ ASP.Net เท่านั้น


0

ฉันยังได้รับข้อผิดพลาดเดียวกัน ... ตรวจสอบชื่อของแอปพลิเคชันที่คุณพัฒนาอย่างถูกต้องเช่น เนมสเปซและชื่อแอสเซมบลีที่ระบุและลองเปลี่ยนชื่อโฟลเดอร์ที่สร้างขึ้นสำหรับแอพพลิเคชั่นทางกายภาพทั้งหมดนี้ควรจะเหมือนกับชื่อในเนมสเปซด้านบนที่มีอยู่ในไฟล์ global.asax


0

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


0

แอปของฉันสร้างขึ้นใน VS เวอร์ชันเก่ากว่าและไม่มีโฟลเดอร์ช่องเก็บ ฉันอัพเกรดมันเป็นเวอร์ชั่นใหม่กว่าและมีฝันร้ายที่นำมันไปใช้งาน ในที่สุดฉันก็ติดตามข้อผิดพลาดนี้ลงในโครงการ> คุณสมบัติ> แอปพลิเคชัน Framework เป้าหมายถูกตั้งค่าเป็น 2.0 การเปลี่ยนมันบนเซิร์ฟเวอร์เพื่อให้ตรงกับใน IIS Manager / App Pool แก้ไขปัญหาให้ฉัน


0

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


0

ปัญหาสำหรับฉันคือฉันไม่ได้รวม global.asax.cs ในโครงการของฉัน และเนื่องจากฉันกำลังคัดลอกไฟล์จาก. net 4.5 ไปยัง 4.0 ฉันไม่ได้ใส่เครื่องหมายบรรทัดที่ไม่จำเป็นใน 4.0 เพราะมันไม่ได้รวมสตูดิโอภาพที่รวบรวมไว้แล้วโดยไม่มีปัญหา แต่เมื่อฉันรวมมันจะเน้นเส้นที่ทำให้เกิดปัญหา

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
//using System.Web.Http;
using System.Web.Mvc;
//using System.Web.Optimization;
using System.Web.Routing;

namespace YourNameSpace
{
    public class WebApiApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            //GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            //BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
    }
}

0

ฉันใช้เวลาหนึ่งวันพยายามแก้ไขปัญหานี้

สิ่งเดียวที่ทำงานได้คือการลบไฟล์. sln สร้างไฟล์ใหม่และเพิ่มโครงการทีละรายการ

¯ \ _ (ツ) _ / ¯ - การเขียนโปรแกรม - ¯ \ _ (ツ) _ / ¯


0

สำหรับกรณีของฉันการประกอบเว็บเป็นส่วนหนึ่งของ GAC ... ดังนั้นหลังจากสร้างแล้วจะต้องติดตั้งใน GAC และทำงานได้


0

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

ใน IIS เว็บไซต์ของฉันเชื่อมโยงกับ http: * 80: webservices.local และมีแอปพลิเคชันชื่อ MyAPI ฉันได้รับข้อความหวั่นเมื่อเรียกใช้แอปพลิเคชัน MyAPI โดยใช้ที่อยู่ IP ของเว็บเซิร์ฟเวอร์

เพื่อให้สามารถเรียกแอปพลิเคชันของฉันได้สำเร็จฉันต้องเพิ่มรายการโฮสต์ไฟล์สำหรับ webservices.local บนเครื่องทั้งหมดที่เรียกว่าแอปพลิเคชัน MyAPI จากนั้นคำขอทั้งหมดของฉันจะต้องนำหน้าด้วยhttp: //webservices.local/MyAPI/เพื่อที่จะกำหนดเส้นทางได้อย่างถูกต้อง


0

ฉันลองทุกอย่างที่นี่และไม่มีอะไรทำงาน โครงการของฉันอยู่ใน VS 2013 ฉันได้อัปเกรดเป็น VS 2015 และได้สร้างแอปพลิเคชันใหม่ทั้งหมดของฉันในปี 2015 แต่การโหลดการคอมไพล์การสร้าง ฯลฯ แอปเก่าทั้งหมดของฉันที่สร้างขึ้นในปี 2013 ในเวอร์ชันนั้น

ฉันลงเอยเพียงแค่โหลดโซลูชันในปี 2558 และแก้ไขให้ฉัน


0

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

  1. เปลี่ยนเป้าหมายแพลตฟอร์มเป็น CPU ใดก็ได้ ฉันไม่ได้กำหนดค่านี้ในขณะนี้ดังนั้นฉันต้องไปที่เครื่องมือจัดการการกำหนดค่าและเพิ่ม ฉันรวบรวมเฉพาะสำหรับ x64 สิ่งนี้เพียงอย่างเดียวไม่สามารถแก้ไขข้อผิดพลาดได้
  2. เปลี่ยนเส้นทางออกไปแทนbin\ bin\x64\Debugฉันลองมาหลายครั้งแล้วก่อนที่จะเปลี่ยนเป้าหมายแพลตฟอร์ม ไม่เคยสร้างความแตกต่างนอกจากการรับข้อผิดพลาดที่ล้มเหลวในการโหลดชุดประกอบเนื่องจากรูปแบบที่ไม่ถูกต้อง

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

หากฉันเปลี่ยนการตั้งค่าเหล่านี้อย่างใดอย่างหนึ่งกลับไปเป็นต้นฉบับฉันจะได้รับข้อผิดพลาดเดิมอีกครั้งแม้จะมีการเรียกใช้ Clean Solution และลบทุกอย่างในbinไดเรกทอรีด้วยตนเอง


0

สองวิธีในการรับสิ่งนี้:

  • ตัวจัดการการกำหนดค่าแสดง dll builds เป็นการรวมกันของ '64' และ 'any cpu' builds นำพวกเขาทั้งหมดไปที่บิลด์เดียวกันแก้ไข

  • เมื่อสลับระหว่างสาขาเส้นทาง IIS express บางครั้งไม่ได้รับการปรับปรุง คลิกขวาที่ 'IIS Express' ในแถบงาน> แสดงแอปพลิเคชันทั้งหมดและยืนยันว่าเส้นทางนั้นไปยังสาขาที่ถูกต้อง

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