คุณอาจได้รับข้อความแสดงข้อความแสดงข้อผิดพลาด "System.Resources.MissingManifestResourceException" เมื่อคุณเข้าถึงแฟ้ม.resources ของฟอร์มในขณะดำเนินการ

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

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

อาการ

เมื่อคุณเรียกใช้ Visual Basic .NET ของคุณ หรือ Visual Basic 2005, .NET c# Visual หรือโปรแกรมประยุกต์ Visual j# .NET Windows คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้หรือหนึ่งที่เหมือนกันเมื่อคุณโหลดฟอร์ม:
ข้อยกเว้น unhandled ชนิด 'System.Resources.MissingManifestResourceException' ที่เกิดขึ้นใน mscorlib.dll

ข้อมูลเพิ่มเติม: ไม่ไม่พบทรัพยากรใด ๆ ที่เหมาะสมสำหรับวัฒนธรรมที่ระบุ (หรือวัฒนธรรมกลาง) ในแอสเซมบลีที่ระบุได้ ตรวจสอบให้แน่ใจว่า "Form1.resources" ถูกฝัง หรือเชื่อมโยงไปยังแอสเซมบลี "myApplication" อย่างถูกต้อง

baseName: locationInfo Form1: ชื่อแฟ้มทรัพยากร WindowsApplication4.Form1: แอสเซมบลี Form1.resources: myApplication เวอร์ชัน = 1.0.781.33026 วัฒนธรรม = neutral, PublicKeyToken = null
ถ้าคุณคลิกตัวแบ่งในกล่องโต้ตอบข้อผิดพลาด และถ้าคุณกำลังเรียกใช้รหัสในสภาพแวดล้อมการพัฒนารวม (IDE), คุณพบที่บรรทัดของรหัสภายในนั้นInitializeComponentคำสั่งทำให้เกิดปัญหานี้ ตัวอย่างเช่น ถ้าคุณสร้างตัวอย่างจากส่วน "ข้อมูลเพิ่มเติม" ข้อผิดพลาดนี้เกิดร่วมกับการImageListตัวควบคุม แม้ว่าเกิดข้อผิดพลาดอาจอ้างอิงไปยังตัวควบคุมที่แตกต่างกัน สังเกตว่าresources.GetObjectปรากฏบนบรรทัดของรหัสข้อผิดพลาดข้อความนั้น:
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")))

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากการแบบฟอร์มคลาสที่ไม่ใช่คลาแรกในโมดูรหัสของแบบฟอร์ม

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

การแก้ไข

เมื่อต้องการแก้ไขปัญหานี้ ย้าย definitions คลาอื่น ๆ ทั้งหมดดังนั้นจะปรากฏขึ้นหลังจากแบบฟอร์มคลา definition

การหลีกเลี่ยงปัญหา

เมื่อต้องการแก้ไขปัญหานี้ เปลี่ยนแปลงนั้นชื่อแฟ้มของทรัพยากรคุณสมบัติของแฟ้ม.resX ของโครงการ โดยให้ทำตามขั้นตอนต่อไปนี้::
  1. เริ่มการทำงานของ Visual Studio .NET 2003หรือ Visual Studio 2005.
  2. เปิดโครงการที่ประกอบด้วยแบบฟอร์มคลาแปลที่คุณได้รับข้อความแสดงข้อผิดพลาดที่กล่าวไว้ในส่วน "อาการ"
  3. ในโซลูชัน Explorer ขยายโฟลเดอร์ทั้งหมด
  4. คลิกขวาForm1.resXแล้ว คลิกคุณสมบัติ.
  5. ในการหน้าคุณสมบัติ Form1.resXกล่องโต้ตอบกล่อง ขยายคุณสมบัติการตั้งค่าคอนฟิกแล้ว คลิกทั่วไปภายใต้ทรัพยากรที่ได้รับการจัดการ.
  6. การเปลี่ยนแปลงนั้นชื่อแฟ้มของทรัพยากรคุณสมบัติจาก$ (IntDir) / <placeholder></placeholder>Form1.resourcesเมื่อต้องการ$ (IntDir) / <placeholder></placeholder>MyForm.resourcesแล้ว คลิกตกลง.

    หมายเหตุ:MyFormตัวยึดสำหรับชื่อคลาสของคลาฟอร์มที่คุณได้
  7. กด CTRL + SHIFT + S เพื่อบันทึกโครงการ กด CTRL + SHIFT + B เพื่อสร้างโซลูชันสำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
    824495การแก้ไข: คุณได้รับข้อความแสดงข้อผิดพลาด "MissingManifestResourceException" เมื่อคุณเพิ่มทรัพยากรที่ถูกเชื่อมโยงใน Visual Studio .NET 2003
  8. กด F5 เพื่อเรียกใช้โปรแกรมประยุกต์ ทำงานของโปรแกรมประยุกต์ และ Form1 ที่แสดงฟอร์ม
.

สถานะ

ลักษณะการทำงานนี้เกิดจากการออกแบบ

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

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

เมื่อคุณโหลดฟอร์มในขณะที่ดำเนินการ การInitializeComponentวิธีอาจมีการเรียกวัตถุจากแฟ้ม.resourcesInitializeComponentค้นหานี้Form_Name.resources แฟ้มในแอสเซมบลี เนื่องจากการเริ่มต้นForm_Nameแฟ้ม.resources ถูกสร้าง หรือเชื่อมโยงกับแอสเซมบลีไม่เคย ความพยายามเรียกแฟ้ม.resources ล้มเหลว

ขั้นตอนในการทำให้สถานการณ์เกิดขึ้นอีกครั้ง

  1. สร้างโครงการแอพลิเคชันของ Windows ใน Visual Basic .NET หรือ Visual Basic 2005, .NET c# Visual หรือ Visual .NET j# Form1 จะถูกสร้างขึ้นตามค่าเริ่มต้นหมายเหตุ:ใน Visual Studio 2005 คุณได้รับข้อความแจ้งเตือนต่อไปนี้:
    ไม่สามารถเพิ่มคอมโพเนนต์ในโหมดการเติม เลือก (ค่าเริ่มต้น) ในคุณสมบัติภาษาเพื่อกลับไปยังแบบฟอร์มเริ่มต้น และเพิ่มคอมโพเนนต์
    หมายเหตุ:คุณต้องเปลี่ยนรหัสใน Visual Basic 2005 โดยค่าเริ่มต้น Visual Basic สร้างแฟ้มที่สองสำหรับโครงการเมื่อคุณสร้างโครงการแบบฟอร์ม Windows ถ้าแบบฟอร์มมีชื่อ Form1 แฟ้มที่สองที่แสดงแบบฟอร์มมีชื่อ Form1.vb และ Form1.Designer.vb คุณสามารถเขียนรหัสในแฟ้ม Form1.vb ตัวออกแบบฟอร์ม Windows เขียนรหัสในแฟ้ม Form1.Designer.vb ตัวออกแบบฟอร์ม Windows ใช้คำสำคัญบางส่วนเพื่อแบ่งการใช้งานของ Form1 เป็นแฟ้มแยกต่างหากที่สอง ลักษณะการทำงานนี้ป้องกันไม่ให้รหัสสร้างโดยโปรแกรมออกจากการถูก interspersed ด้วยรหัสของคุณ

    สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการปรับปรุงใหม่ ๆ ของภาษา Visual Basic 2005 แวะไปที่เว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
    .aspx http://msdn2.microsoft.com/en-us/library/ms379584 (vs.80)
    สำหรับข้อมูลเพิ่มเติมเกี่ยวกับระดับชั้นบางส่วนและผู้ออกแบบฟอร์ม Windows ไปที่ MSDN เว็บไซต์ต่อไปนี้:
    http://msdn2.microsoft.com/en-us/library/ms171843.aspx
  2. เพิ่มการImageListควบคุมการ Form1
  3. เพิ่มไฟล์ไอคอนไปImageListตัวควบคุม
  4. ในโมดูรหัสของ Form1 เพิ่มโค้ดต่อไปนี้ก่อนการนิยาม Form1: Visual Basic .NET:
    Public Class someClass
    End Class
    					
    ภาพ.NET c# และ Visual .NET j#:
    public class someClass
    {
    }
    					
  5. สร้างโครงการ ขอให้สังเกตว่า โครงการที่สร้างเสร็จเรียบร้อยแล้ว
  6. เรียกใช้โครงการ ขอให้สังเกตว่า คุณได้รับข้อความแสดงข้อผิดพลาดที่กล่าวไว้ในส่วน "อาการ"

คุณสมบัติ

หมายเลขบทความ (Article ID): 318603 - รีวิวครั้งสุดท้าย: 13 มกราคม 2554 - Revision: 5.0
ใช้กับ
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual J# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
Keywords: 
kbvs2005applies kbvs2005swept kbprb kbmt KB318603 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:318603

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

 

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