我正在开发一个 ASP.NET MVC2 项目,为此我配置了如下本地化...
我有一个单独的资源程序集,包含我所有的 resx 文件。每个 resx 文件的设置是...
构建操作 = 嵌入式资源 复制到输出目录 = 不复制 自定义工具 = PublicResXFileCodeGenerator 自定义工具命名空间 = 资源
我有一个工具,可以将数据库中的字符串导出到 resx 文件中,并调用 resgen.exe 工具来重新创建 Designer.cs 文件。
这一切都很好,即使我更改了浏览器的语言设置并刷新了页面。它会拾取正确的字符串。
那是在一个临时工作文件夹中(我使用颠覆)。我现在已经开始在我的普通文件夹中工作,并且遇到了一个相当奇怪的错误。
编译器错误消息:CS0433:类型 'Resources.XXXX' 存在于两个 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\6c657d01\aaca70ae\assembly\dl3\a36dac65\ 78c87110_3724cb01\Resources.DLL' 和 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\6c657d01\aaca70ae\App_GlobalResources.g6fehiio.dll'
我已删除所有临时 asp.net 文件,重新运行 Web 应用程序,它会重新生成上述两个程序集。真正奇怪的是,这一切在我转移到我通常的工作文件夹之前就已经奏效了。
那么,谁能告诉我是什么生成了这个 App_GlobalResources 程序集,我不需要或不想要它,因为我所有的资源都包含在我创建的 Resources 程序集中。
PS - 我选择 Resources.dll 的原因是为了解决我在使用数据库提取工具生成资源时遇到的问题。(见这里)
PPS - 我正在使用 VS2010