在我的webproject项目中,我使用了App_GlobalResources文件夹中的4个资源文件。其中一个(lang.resx)在我加入项目之前就已经创建好了。它具有正确的名称空间(WebApplication.App_GlobalResources)和访问修饰符:public。
另一方面,我刚刚创建的其他三个资源文件具有不同的名称空间(Resources)和internal访问修饰符,并且我不能在Visual Studio的资源文件窗体上更改它,因为它是禁用的。如果我尝试直接在designer.cs文件中更改它,则在下次保存该文件时,修改将被取消。
这不是一个严重的bug,但对于项目中的其他开发人员来说,为他们将使用的资源文件找到不同的名称空间和访问修饰符可能会产生误导。
发布于 2009-09-24 07:45:08
我还不完全确定问题出在哪里,但我可以告诉您,您可以通过更改用于生成代码的工具来解决它。
当我试图关注this article时,我也偶然发现了这个问题。按照作者的建议下载源文件后,我注意到已经存在的资源文件在“自定义工具”属性中具有以下类:"PublicResXFileCodeGenerator“。此外,"Build Action“属性被设置为"Embedded Resource",但我不确定这是否是问题的一部分。
我创建的任何新资源文件都使用了自定义工具"GlobalResourceProxyGenerator“。在用前面提到的"PublicResXFileCodeGenerator“覆盖它之后,似乎解决了问题,无论真正的问题是什么。
我还注意到当前的资源文件是"2.0“格式,而新文件是"1.3”格式。当您使用XML编辑器打开resx文件(或使用visual studio本身的“打开方式”)时,可以看到这一点。
我希望你能让它像这样工作,虽然它不是很理想。这很可能是Visual Studio2008和SP1的安装问题,或者类似的问题。
更新:
This blog entry也可能会有所帮助。
发布于 2012-09-14 21:30:51
简单的答案是:只需打开资源文件的属性并将Custom Tool Namespace更改为所需的名称空间即可。
就这么简单。
发布于 2012-07-02 15:45:39
或者,您可以更改CustomTool属性(在VS2010中测试)。
您只需打开资源文件的文件属性,将“自定义工具”从“GlobalResourceProxyGenerator”更改为“PublicResXFileCodeGenerator”,这是本地资源文件的默认工具。接下来,您必须将“构建操作”更改为“嵌入式资源”。您可能还想分配一个适当的自定义工具命名空间,如“Resources”,以便正确访问文件,但这并不是必需的……
Source
https://stackoverflow.com/questions/1333356
复制相似问题