为多种语言使用全局资源文件时命名空间冲突

Namespace conflit while using global resource file for multiple languages

我创建了两个资源文件,名称为:

  1. ManageUserResources.resx
  2. ManageUserResources.zn-CN.resx

现在designer.cs中各自的命名空间是:

  1. 资源
  2. Resources.ManageUserResources

//错误:命名空间资源已包含 ManageUserResources 的定义

  1. 名称空间与 class(同名)之间是否存在冲突?
  2. 这个问题有什么解决办法吗?

在为多种语言的名称空间创建资源文件时,请始终确保检查正确的文化代码。在你的例子中是 ManageUserResources.zn-CN.resx。考虑到你想 select 中国,它应该是 ManageUserResources.zh-CN.resx 中国的代码是 zh-CN,这不应该被替换。

解决您的问题:

具体错误发生在 Resources.Designer.cs 您可以删除该文件并让 Visual studio 重新生成它。

我也遇到过这个问题,那是因为我创建了一个新的命名空间,但是父命名空间包含一个同名的class。

为了找到这个,我使用了对象浏览器并搜索了已经定义的项目的名称。

如果在您仍然遇到错误时它不允许您执行此操作,请暂时更改它所抱怨的项目的名称,然后找到有问题的项目。

希望对您有所帮助。