为什么我会生成 App_GlobalResources 程序集? (错误 = CS0433)
我正在开发一个 ASP.NET MVC2 项目,我已为其配置了本地化,如下......
I have a separate Resources assembly, containing all my resx files. The settings for each resx file are...
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\Temporary 网络平台 文件\根\6c657d01\aaca70ae\程序集\dl3\a36dac65\78c87110_3724cb01\Resources.DLL' 和 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary 网络平台 文件\root\6c657d01\aaca70ae\App_GlobalResources.g6fehiio.dll'
我已删除所有临时 asp.net 文件,重新运行 Web 应用程序,它会重新生成上述两个程序集。真正奇怪的是,在我移动到我常用的工作文件夹之前,这一切都有效。
那么,谁能告诉我是什么生成了这个 App_GlobalResources 程序集,我不需要或不想要它,因为我的所有资源都包含在我创建的资源程序集中。
PS - 我使用 Resources.dll 的原因是为了解决使用数据库提取工具生成资源时遇到的问题。 (请参阅此处< /a>)
PPS - 我正在使用 VS2010
I'm working on a ASP.NET MVC2 project, for which I have configured the localisation as follows ...
I have a separate Resources assembly, containing all my resx files. The settings for each resx file are...
Build Action = Embedded Resource Copy to Output Directory = Do not copy Custom Tool = PublicResXFileCodeGenerator Custom Tool Namespace = Resources
I have a tool which exports the strings from a database into the resx files and calls the resgen.exe tool to recreate the designer.cs file.
This all worked great, even when I changed the language settings of my browser and refreshed the page. It would pick up the correct strings.
That was in a temporary working folder (I use subversion). I've now moved to working in my normal folder and am getting a rather odd error.
Compiler Error Message: CS0433: The
type 'Resources.XXXX' exists in
both
'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary
ASP.NET
Files\root\6c657d01\aaca70ae\assembly\dl3\a36dac65\78c87110_3724cb01\Resources.DLL'
and
'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary
ASP.NET
Files\root\6c657d01\aaca70ae\App_GlobalResources.g6fehiio.dll'
I have deleted all of my temporary asp.net files, re-run the web app and it regenerates both of the above mentioned assemblies. The really odd thing is that this all worked before I moved to my usual working folder.
So, can anyone tell me what is generating this App_GlobalResources assembly, which I don't need or want, because all my resources are contained in the Resources assembly I've created.
PS - The reason I went with Resources.dll was to get around a problem I was having with generating the resources using my database extract tool. (see here)
PPS - I am using VS2010
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
哦!
我想当我将“常用工作文件夹”切换到所在分支时,“App_GlobalResources”文件夹中有一些文件。
我刚刚尝试在 VS2010 中创建一个新的 App_GlobalResources 文件夹,它告诉我那里已经有一个文件夹,但它不在解决方案资源管理器中。
我在 Windows 资源管理器中查看了很多次,但没有看到该文件夹。
不管怎样,问题解决了!
道德:不要信任解决方案资源管理器或 svn 开关来删除不属于工作副本的文件:'(
doh!
I think when I switched my "usual working folder" to the branch this was in, I had some files in a "App_GlobalResources" folder.
I just tried to create a new App_GlobalResources folder in VS2010 and it told me there was already one there, but it wasn't in the solution explorer.
I looked in windows explorer a number of times and just didn't see that folder.
Anyway, problem solved!
moral: don't trust solution explorer or svn switch to delete files that don't belong in the working copy :'(
虽然我不知道如何停止 App_GlobalResources 在临时 ASP.NET 文件中自动生成程序集。我确实弄清楚了如何摆脱那些烦人的警告。
正如警告所述:
编译器错误消息:CS0433:类型“Resources.XXXX”存在于“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\6c657d01\”中aaca70ae\程序集\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'< /code>
类型 Resources.XXXX 存在于两个程序集中。将您的
自定义工具命名空间
更改为“资源”以外的名称,这些警告就会消失。Although I do not know how to stop App_GlobalResources automatically generationg assemblies in Temporary ASP.NET files. I did figure out how to get rid of those annoying warnings.
As the warning says:
Compiler Error Message: CS0433: The type 'Resources.XXXX' exists in both 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\6c657d01\aaca70ae\assembly\dl3\a36dac65\78c87110_3724cb01\Resources.DLL' and 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\6c657d01\aaca70ae\App_GlobalResources.g6fehiio.dll'
The type Resources.XXXX exists in both assemblies. Change your
Custom Tool Namespace
to be something other than "Resources" and these warnings will dissappear.