开发者

Why am I getting App_GlobalResources assembly generated? (Error = CS0433)

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


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 :'(


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.


  1. Move the .resx to another folder (not App_GlobalResources)
  2. Keep the Custom Tool Namespace set to 'Resources'
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜