ข้อผิดพลาดเมื่อคุณพยายามเรียกใช้โปรแกรมประยุกต์ ASP.NET 2.0 เว็บที่สร้างบน.NET Framework 2.0

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 919284 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

อาการ

เมื่อคุณพยายามที่จะเรียกใช้โปรแกรมประยุกต์เว็บ 2.0 ASP.NET ของ Microsoft ที่มีอยู่แล้วภายในกรอบงาน Microsoft .NET 2.0 คุณอาจได้รับข้อความแสดงข้อผิดพลาดที่คล้ายกับข้อความแสดงข้อผิดพลาดต่อไปนี้อย่างใดอย่างหนึ่ง:
คลาพื้นฐานรวมถึงฟิลด์ 'MyControl_1 ', แต่(ชนิดของMyControl) ไม่เข้ากันได้กับชนิดของตัวควบคุม (ASPMyControl_ascx)
ไม่สามารถเพี้ยนวัตถุของชนิด ' ASPMyControl_ascx 'การพิมพ์'MyNameSpace.MyControl'.
ไม่อนุญาตให้มีการอ้างอิงแฟ้มกลม
หมายเหตุ:ในข้อความข้อผิดพลาดเหล่านี้MyControlชื่อของตัวควบคุมที่มีสาเหตุจากข้อความแสดงข้อผิดพลาดMyNameSpaceคือชื่อของ namespace ที่ตัวควบคุมนี้เป็นสมาชิก

สาเหตุ

นี่เป็นปัญหาที่เกิดขึ้นเนื่องจากมีความหมายวิธี ASP.NET 2.0 ใช้การอ้างอิงแอพลิเคชันและโครงสร้างโฟลเดอร์ของโปรแกรมประยุกต์การคอมไพล์แอพลิเคชัน ถ้าการBatchคุณสมบัตินี้<compilation></compilation>องค์ประกอบในการweb.configแฟ้มสำหรับโปรแกรมประยุกต์ถูกกำหนดเป็นTrue, ASP.NET 2.0 compiles แต่ละโฟลเดอร์ในแอพลิเคชันในแอสเซมบลีที่แยกต่างหาก ในสถานการณ์สมมตินี้ การอ้างอิงแบบวงกลมอาจเกิดขึ้น นอกจากนี้ กระบวนการคอมไพล์อาจล้มเหลวหากมีเงื่อนไขใด ๆ ต่อไปนี้เป็นจริง:
  • แอพลิเคชันประกอบด้วยการอ้างอิงไปยังตัวควบคุมของเว็บ
  • โปรแกรมประยุกต์ที่ประกอบด้วยการอ้างอิงไปยังเว็บเพจที่มีอยู่ในไดเรกทอรีปัจจุบัน

การแก้ไข

เมื่อต้องการแก้ไขปัญหา ให้ใช้วิธีการอย่างใดอย่างหนึ่งต่อไปนี้:

วิธีที่ 1: ปรับเปลี่ยนแฟ้ม web.config

การแก้ไขนี้web.configแฟ้ม การตั้งค่านี้Batchคุณสมบัตินี้<compilation></compilation>องค์ประกอบในการweb.configแฟ้มสำหรับโปรแกรมประยุกต์ให้เท็จ.

หมายเหตุ:วิธีนี้จะแนะนำเฉพาะสำหรับโปรแกรมประยุกต์ขนาดเล็ก ในโปรแกรมประยุกต์การผลิตที่มีขนาดใหญ่โปรแกรม เมื่อคุณตั้งค่านี้Batchคุณสมบัติการเท็จ, ASP.NET 2.0 compiles แต่ละหน้าในแอพลิเคชันในแอสเซมบลีที่แยกต่างหาก แอสเซมบลีของแต่ละหน้าได้โหลดแล้วในตำแหน่งหน่วยความจำที่ใช้ได้ถัดไป นอกจากนี้ แอสเซมบลีของแต่ละหน้าไม่สามารถย้าย ซึ่งทำให้การกระจายตัวของหน่วยความจำ

วิธีที่ 2: โฟลเดอร์ในแอพลิเคชันการเรียงลำดับใหม่

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

ข้อมูลเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้นี้<compilation></compilation>องค์ประกอบในการweb.configแฟ้ม เยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:http://msdn2.microsoft.com/en-us/library/s10awwz0.aspx

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดอื่น ๆ ที่อาจทำให้เกิดการ InvalidCastException ไปเป็น thrown ในโปรแกรมประยุกต์ ASP.NET เชื่อมต่อเว็บ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
915782การแก้ไข: คุณอาจได้รับข้อผิดพลาด InvalidCastException ในโปรแกรมประยุกต์ ASP.NET เชื่อมต่อเว็บ

คุณสมบัติ

หมายเลขบทความ (Article ID): 919284 - รีวิวครั้งสุดท้าย: 16 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft ASP.NET 2.0
Keywords: 
kbasp kbtshoot kbprb kbmt KB919284 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:919284
การปฏิเสธความรับผิดชอบในเนื้อหาของ KB ที่จะไม่มีการปรับปรุงอีกต่อไป
บทความนี้กล่าวถึงผลิตภัณฑ์ที่ Microsoft ไม่มีการสนับสนุนอีกต่อไป เนื้อหาของบทความจึงมีการนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com