解决方案子文件夹中的C#资源文件导致MissingManifestResourceException

时间:2009-04-28 01:24:48

标签: c# resources

我创建了一系列资源(resx)文件来保存特定于语言的字符串数据。在各种教程之后,我将基本资源文件(MyResources.resx)放在解决方案的根文件夹和其他后续资源文件中,例如(MyResources.en-AU.resx)并排在解决方案中。在说所有这一切都运行正常,直到我在解决方案资源管理器中创建一个文件夹,例如,称为“文化”,然后将一个或所有资源文件移动到该文件夹​​中。这样做后我得到一个MissingManifestResourceException。只要我将它们移回解决方案资源管理器的根文件夹就没有问题。

任何人都可以解释这里发生了什么吗?如何将这些资源文件从根解决方案中移除?

此致

1 个答案:

答案 0 :(得分:4)

当您说移动资源文件时,是否意味着您在文件系统上手动移动它们?如果是这种情况,显然构建工具将无法找到文件,因为它们仍然被“旧”位置引用。尝试从项目中删除资源文件,然后“添加现有项目”并将其添加回来。在尝试之前不要忘记备份所有内容,当然......

编辑:将文件移动到文件夹时,该文件夹名称将成为命名空间的一部分。因此,例如,如果您有一个名为Resource1的资源文件,并且您通过Resource1.String1访问它,则在将其移动到“Folder”后,它将变为Folder.Resource1.String1