我正在开发一个ASP.NET MVC2项目,我为此配置了本地化,如下所示......
<小时/> 我有一个单独的资源程序集,包含我所有的resx文件。每个resx文件的设置是......
Build Action = Embedded Resource Copy to Output Directory = Do not copy Custom Tool = PublicResXFileCodeGenerator Custom Tool Namespace = Resources
我有一个工具可以将数据库中的字符串导出到resx文件中,并调用resgen.exe工具来重新创建designer.cs文件。
即使我更改了浏览器的语言设置并刷新了页面,这一切都很有效。它会拾取正确的字符串。
那是在临时工作文件夹中(我使用了subversion)。我现在已经开始在我的普通文件夹中工作了,我得到了一个相当奇怪的错误。
编译器错误消息:CS0433: 类型'Resources.XXXX'存在于 都 “C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \临时 ASP.NET 文件\根\ 6c657d01 \ aaca70ae \组件\ DL3 \ a36dac65 \ 78c87110_3724cb01 \ Resources.DLL” 和 “C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \临时 ASP.NET 文件\根\ 6c657d01 \ aaca70ae \ App_GlobalResources.g6fehiio.dll'
我删除了所有临时asp.net文件,重新运行Web应用程序并重新生成上述两个程序集。真正奇怪的是,在我搬到我平时工作的文件夹之前,这一切都有效。
那么,任何人都可以告诉我生成这个App_GlobalResources程序集的是什么,我不需要或不需要它,因为我所有的资源都包含在我创建的Resources程序集中。
PS - 我使用Resources.dll的原因是为了解决我使用数据库提取工具生成资源时出现的问题。 (见here)
PPS - 我正在使用VS2010
答案 0 :(得分:4)
卫生署!
我认为当我将“通常的工作文件夹”切换到其中的分支时,我在“App_GlobalResources”文件夹中有一些文件。
我刚尝试在VS2010中创建一个新的App_GlobalResources文件夹,它告诉我那里已有一个,但它不在解决方案资源管理器中。
我多次在Windows资源管理器中查看,但没看到该文件夹。
无论如何,问题解决了!
道德:不要相信解决方案资源管理器或svn开关删除不属于工作副本的文件:'(答案 1 :(得分:0)