为什么我会生成App_GlobalResources程序集? (错误= CS0433)

时间:2010-07-16 10:39:25

标签: visual-studio-2010 asp.net-mvc-2 resx app-globalresources

我正在开发一个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

2 个答案:

答案 0 :(得分:4)

卫生署!

我认为当我将“通常的工作文件夹”切换到其中的分支时,我在“App_GlobalResources”文件夹中有一些文件。

我刚尝试在VS2010中创建一个新的App_GlobalResources文件夹,它告诉我那里已有一个,但它不在解决方案资源管理器中。

我多次在Windows资源管理器中查看,但没看到该文件夹​​。

无论如何,问题解决了!

道德:不要相信解决方案资源管理器或svn开关删除不属于工作副本的文件:'(

答案 1 :(得分:0)

  1. 将.resx移至另一个文件夹(不是App_GlobalResources)
  2. 将自定义工具命名空间设置为“资源”