CLR窗体错误:未处理的“System.Resources.MissingManifestResourceException”类型的异常出现在 mscorlib.dll 中

转自:http://support.microsoft.com/kb/318603/zh-cn

在运行时访问该窗体的.resources 文件时,您可能会收到一个”System.Resources.MissingManifestResourceException”错误消息

当您的 Visual Basic.NET 或 Visual Basic 2005年、 Visual C#.NET 或 Visual J#.NET Windows 应用程序运行时,您可能收到下面的错误消息或一个类似,当加载窗体时: Mscorlib.dll 中发生未经处理的异常的类型 System.Resources.MissingManifestResourceException

其他信息: 中找不到任何资源适用于指定的区域性 (或非特定区域性) 给定的程序集。请确保已正确嵌入或链接到程序集”myApplication”“Form1.resources”。。

基名称: Form1 locationInfo: WindowsApplication4.Form1 资源文件名: Form1.resources 程序集: myApplication,版本 = 1.0.781.33026,区域性 = 中性,公钥令牌 = null 如果您单击错误对话框中的中断和集成的开发环境 (IDE) 中运行该代码,如果您发现一行InitializeComponent语句内的代码将导致此问题。例如,如果从”详细信息”部分中创建示例,配合imagelist控制发生此错误。虽然不同的控件引用可能的错误消息,请注意,的资源。GetObject出现在该错误信息中的代码行上: this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject(“imageList1.ImageStream”))) ;

替代方法 若要变通解决此问题,请更改项目的.resX 文件的资源文件名称属性。若要执行此操作,请执行以下步骤: Visual Studio.NET 2003年或 Visual Studio 2005年启动。

打开包含在您收到”症状”一节中提到的错误消息的本地化窗体类的项目。

在解决方案资源管理器中,展开所有文件夹。

Form1.resX),用鼠标右键单击,然后单击属性

在Form1.resX 属性页的对话框中,展开配置属性,然后单击管理资源下的常规

更改 $(IntDir)/ Form1.resources(IntDir) / 。MyForm.resources,然后单击 确定。

注意MyForm为您本地化 form 类的类名的占位符。

按 CTRL + SHIFT + S 可保存该项目。按 CTRL + SHIFT + B 来构建解决方案。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

824495修复:“MissingManifestResourceException”错误消息时收到在 Visual Studio.NET 2003年中添加链接的资源 按 F5 键运行该应用程序。在应用程序运行,并显示窗体 Form1 的。