2010-01-17 39 views
0

我在尝试重写ASP.NET MVC中的DisplayNameAttribute以提供本地化字符串时遇到问题。该代码本身是直接和类似于另一个Stackoverflow后link textASP.NET MVC - 本地资源问题

该代码适用于全球资源,但不是很好的本地资源。我有一个注册屏幕,并使用Visual Studio“生成本地资源”命令来创建我的本地资源文件。生成的文件名为Registration.aspx.resx,App_LocalResources文件夹是根据实际的Registration.aspx页面创建的 - 正如人们所期望的那样。

然而,当我尝试使用,以获得本地化的字符串:

ResourceManager.GetString(resourceKey)

我收到以下错误消息。

找不到适合于指定文化 或中立文化的任何资源 。确保 “FullAssemblyName.Views.Account.App_LocalResources.Registration_aspx.resources” 正确嵌入或在编译时 链接到 装配“FullAssemblyName”,或者确保所有需要的卫星 集都可加载和 完全签名。

使用反射器,我可以看到该文件实际上是Registration.aspx.resources而不是Registration_aspx.resources - 下划线/段是细微的差别

FullAssemblyName.Views.Account.App_LocalResources。 Registration.aspx.resources

我已经玩了很多代码,但无论我做什么,被请求的文件总是不同于复制在程序集中的文件。例如,如果我重命名Registration_aspx(在生成的Registration.aspx.designer.cs类中,我得到相同的错误,但这次路径是“... App_LocalResources.Registrationaspx.resources”

有没有人遇到过这个问题?有什么办法,我可以保证,在我的组装中发现的资源有这个底线?!?!?

预先感谢您!

回答

0

尝试迈克尔·坎贝尔K.解决link text。它工作得很好形成我本地化我的项目。