Bạn có thể nhận được một thông báo lỗi "System.Resources.MissingManifestResourceException" khi bạn truy cập các tập tin .resources của các hình thức tại thời gian chạy

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:318603
Bài viết này đã được lưu trữ. Bài viết được cung cấp "nguyên trạng" và sẽ không còn được cập nhật nữa.
TRIỆU CHỨNG
Khi bạn đang chạy của bạn Visual Basic.NET hoặc năm 2005 Visual Basic, Visual C# .NET, hoặc Visual J#.NET Windows ứng dụng, bạn có thể nhận được dưới đây thông báo lỗi hoặc tương tự như một khi bạn tải một hình thức:
Một ngoại lệ unhandled của loại 'System.Resources.MissingManifestResourceException' diễn ra tại mscorlib.dll

Thông tin thêm: không thể tìm thấy bất kỳ nguồn lực thích hợp cho nền văn hóa đã chỉ định (hoặc các nền văn hóa trung lập) trong các lắp ráp cho trước. Đảm bảo rằng "Form1.resources" một cách chính xác đã được nhúng vào hoặc liên kết vào lắp ráp "myApplication".

baseName: Form1 locationInfo: WindowsApplication4.Form1 nguồn tập tin tên: Form1.resources Cynulliad: myApplication, phiên bản = 1.0.781.33026, văn hóa = trung tính, PublicKeyToken = null
Nếu bạn bấm vào Phá vỡ trong hộp thoại lỗi, và nếu bạn đang chạy mã trong các môi trường phát triển tích hợp (IDE), bạn phát hiện ra rằng một dòng mã bên trong các InitializeComponent tuyên bố gây ra vấn đề này. Ví dụ, nếu bạn tạo các mẫu từ phần "Thông tin thêm", lỗi này xảy ra cùng với một ImageList kiểm soát. Mặc dù các thông báo lỗi có thể chỉ đến một khác nhau kiểm soát, nhận thấy rằng tài nguyên.GetObject xuất hiện trên dòng mã trong các thông báo lỗi:
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
NGUYÊN NHÂN
Vấn đề này xảy ra bởi vì các Hình thức lớp không phải là lớp học đầu tiên trong mô-đun mã của các hình thức.

Chú ý Bài viết này tài liệu cụ thể một trong những nguyên nhân của vấn đề này. Có có thể tình huống khác có thể dẫn đến kết quả tương tự.
GIẢI PHÁP
Để giải quyết vấn đề này, di chuyển tất cả các lớp học khác định nghĩa vì vậy mà họ xuất hiện sau khi các hình thức lớp định nghĩa.
CÁCH GIẢI QUYẾT KHÁC
Để làm việc xung quanh vấn đề này, thay đổi các Tên tập tin tài nguyên tài sản của các tập tin .resx của dự án. Để thực hiện việc này, hãy làm theo những bước sau:
  1. Bắt đầu Visual Studio.NET 2003 hoặc Visual Studio 2005.
  2. Mở dự án có chứa lớp mẫu bản địa hoá mà bạn nhận được thông báo lỗi được đề cập trong phần "Triệu chứng".
  3. Trong giải pháp Explorer, mở rộng tất cả các thư mục.
  4. Nhấp chuột phải Form1.resX, sau đó bấm Thuộc tính.
  5. Trong các Trang thuộc tính Form1.resX hộp thoại hộp, mở rộng Cấu hình thuộc tính, sau đó bấm Tổng quát dưới Quản lý tài nguyên.
  6. Thay đổi các Tên tập tin tài nguyên bất động sản từ $(IntDir) / <placeholder></placeholder> .Form1.Resources để $(IntDir)/ <placeholder> .<b00></b00></placeholder>MyForm .Resources, sau đó bấm Ok.

    Chú ý MyForm là một giữ chỗ cho lớp tên của lớp mẫu bạn bản địa hoá.
  7. Nhấn CTRL + SHIFT + S để cứu các dự án. Nhấn CTRL + SHIFT + B để xây dựng các giải pháp.Để biết thêm thông tin, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
    824495Khắc phục: Bạn nhận được một thông báo lỗi "MissingManifestResourceException" khi bạn thêm một nguồn tài nguyên được liên kết trong Visual Studio.NET 2003
  8. Nhấn F5 để chạy các ứng dụng. Chạy ứng dụng và Form1 hình thức sẽ được hiển thị.
.
TÌNH TRẠNG
Điều này hành vi là do thiết kế.
THÔNG TIN THÊM
Một mẫu mã module có thể chứa nhiều các lớp học. Khi các dự án được xây dựng, xây dựng hệ thống phải quyết định lớp học nên sử dụng để tạo tập tin .resources. Thiết kế của hệ thống xây dựng dự án chỉ định các lớp học đầu tiên trong mã module là các lớp học mà trên đó .resources tệp được dựa. Các tập tin .resources được đặt tên dựa lớp đó, không phải các tên của biểu mẫu. Trong hầu hết trường hợp, các tên miền hai là như nhau. Tuy nhiên, nếu các tên khác nhau, bạn nhận được thông báo lỗi được đề cập trong các "Triệu chứng" phần.

Khi bạn tải các hình thức tại thời gian chạy, các InitializeComponent phương pháp có thể nhận được các đối tượng từ các tập tin .resources. InitializeComponent tìm kiếm cho các Form_Name.Resources tập tin trong hội đồng. Bởi vì ban đầu Form_Name.Resources tập tin được không bao giờ tạo ra hoặc liên kết để quốc hội, cố gắng lấy tập tin .resources không thành công.

Các bước mô phỏng hành vi.

  1. Tạo một ứng dụng Windows dự án trong Visual Basic.NET hay Visual Basic 2005, Visual C#.NET, hoặc Visual J#.NET. Form1 được tạo ra theo mặc định.Chú ý Trong Visual Studio 2005, bạn nhận được thông báo cảnh báo sau đây:
    Các thành phần không thể được thêm vào trong nội địa hóa chế độ. Chọn (mặc định) trong ngôn ngữ bất động sản để trở về mặc định mẫu và thêm các thành phần.
    Chú ý Bạn phải thay đổi mã trong Visual Basic 2005. Theo mặc định, Visual Basic tạo hai tập tin cho dự án khi bạn tạo một dự án Windows Forms. Nếu mẫu được đặt theo tên Form1, hai tập tin mà đại diện cho các hình thức được đặt tên Form1.vb và Form1.Designer.vb. Bạn viết mã trong tập tin Form1.vb. Các nhà thiết kế các hình thức Windows viết mã trong tập tin Form1.Designer.vb. Các nhà thiết kế các hình thức Windows sử dụng các từ khóa một phần để phân chia thực hiện Form1 thành hai tập tin riêng biệt. Hành vi này ngăn cản các nhà thiết kế tạo ra mã được xen kẽ với mã của bạn.

    Để biết thêm chi tiết về cải tiến mới ngôn ngữ Visual Basic 2005, ghé thăm Web site sau của Microsoft Developer Network (MSDN): Để biết thêm chi tiết về các lớp học phần và các nhà thiết kế các hình thức Windows, hãy truy cập MSDN Web site sau:
  2. Thêm một ImageList kiểm soát để Form1.
  3. Thêm một tập tin biểu tượng cho các ImageList kiểm soát.
  4. Trong mô-đun mã Form1, thêm mã sau đây trước khi định nghĩa Form1: Visual Basic.NET:
    Public Class someClassEnd Class					
    Visual C#.NET và Visual J#.NET:
    public class someClass{}					
  5. Xây dựng dự án. Chú ý rằng các dự án xây dựng thành công.
  6. Chạy các dự án. Nhận thấy rằng bạn nhận được thông báo lỗi đó đề cập đến trong phần "Triệu chứng".

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 318603 - Xem lại Lần cuối: 12/07/2015 09:04:42 - Bản sửa đổi: 2.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

  • kbnosurvey kbarchive kbvs2005applies kbvs2005swept kbprb kbmt KB318603 KbMtvi
Phản hồi
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)