您好我有我刚刚从.net 3.5迁移的解决方案/ MVC1/VS2008到.NET 4.5/MVC4/VS2012ResourceManager.GetString()FileNotFound异常
大多数事情的工作很好,但我有一个字符串资源文件问题
我的解决方案有3个项目,其中一个是核心,另一个依赖于核心。
在每一个我有以下模式命名一个字符串文件的项目:
核心项目 - 文件名是 Strings.resx
依赖关系1项目 - 文件名 Dependency1Strings.resx
Dependency2项目 - 文件名是 Dependency2Strings.resx
每个这些文件有任何与特定项目的字符串。
当溶液负载创建使用下面的代码(例如使用Dependency2)每个项目都有一个ResourceManager的:
ResourceManager manager = new ResourceManager("Dependency2.Dependency2Strings", typeof(Dependency2Strings).Assembly);
后来,当我尝试调用manager.GetString(messageName,ClientCulture)
我得到一个FileNotFoundException异常,指出文件无法找到Dependency2.resources.dll。
奇怪的是,它列出了Dependency2.resources.dll的PublicToken是一样的公钥对Dependency2.dll。
我的问题是没有人知道为什么和在哪里应该生成Dependency2.resources.dll(也许这是一个新的设置)。在以前版本的.Net中,这段代码没有问题。
这只发生在依赖项目上,而不是核心项目上。几乎看起来.Net将这个项目结构与卫星组装结构混为一谈。
如果您不打算说什么有用的话,请不要说任何话。 – suzi167