【发布时间】:2012-09-13 18:55:24
【问题描述】:
将解决方案从 VS2008 迁移到 VS2010 时遇到问题。问题是在某些情况下在运行时找不到托管资源,因为它们没有嵌入正确的名称:
“找不到任何适合指定区域性或中性区域性的资源。确保“Production.ViewDocument.resources”在编译时已正确嵌入或链接到程序集“RSProcess”中,或者所需的所有附属程序集都是可加载且完全签名。”
System.Resources.MissingManifestResourceException 通常在对通过类型 id 创建的资源调用 ApplyResources 时引发 InitializeComponent。在我的例子中,命名空间是 Production,类名是 ViewDocument。但是,生成的资源(来自 ViewDocument.resx)是根据 resx 文件所在的文件夹结构命名的,在本例中为 Production.folder1.folder2.ViewDocument.resources。
在 VS2008 中,您可以在 .resx 文件的设置中覆盖(默认)逻辑名称,Managed Resources/General/Resource Logical Name。在 VS2010 中我无法让它工作 - 它完全忽略了这个设置!有没有其他方法可以解决这个问题?
最后的方法是删除当前文件夹结构并将所有文件移动到根项目文件夹,但在我的情况下这似乎是很多工作。
有什么建议吗?
【问题讨论】: