首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ResourceManager.GetString() FileNotFound异常

ResourceManager.GetString() FileNotFound异常
EN

Stack Overflow用户
提问于 2012-11-27 16:10:57
回答 1查看 1.5K关注 0票数 2

嗨,我有一个解决方案,我刚从.Net 3.5/MVC1/ to 2008迁移到.Net 4.5/MVC1 4/to 2012。

大多数情况下运行良好,但我遇到了字符串资源文件问题。

我的解决方案有3个项目,其中一个是核心,另一个是依赖于核心。

在每个项目中,我都有一个字符串文件,名称如下:

核心项目-文件名为Strings.resx

文件名为Dependency1Strings.resx Dependency1 project

文件名为Dependency2Strings.resx Dependency2 project

这些文件中的每一个都有与特定项目相关的字符串。

当解决方案加载时,我使用以下代码为每个项目创建一个ResourceManager (示例使用Dependency2):

代码语言:javascript
复制
ResourceManager manager = new ResourceManager("Dependency2.Dependency2Strings", typeof(Dependency2Strings).Assembly);

稍后当我试图调用manager.GetString(messageName,ClientCulture)

我得到一个FileNotFoundException,说明文件FileNotFoundException无法定位。

奇怪的是,它为Dependency2.resources.dll列出的PublicToken与用于Dependency2.dll.的PublicKey相同。

我的问题是,是否有人知道Dependency2.resources.dll应该生成的原因和位置(可能是一个新的设置)。在.Net的早期版本中,这段代码没有问题。

这只发生在依赖项目,而不是核心项目。它看起来几乎是.Net混淆了这个项目结构和一个卫星组装结构。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-03 20:44:41

因此,经过多次尝试和错误之后,我找到了一个折中的解决方案。

我将所有资源字符串放入同一个resx文件中,然后让所有3个资源分发器引用同一个文件。

这起作用了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13588329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档