禁止“资源名称是无效的标识符”(Suppress “The resource name is not

2019-09-16 08:09发布

我有一个在它5000+资源字符串的项目。 几乎所有的人都在他们的标识符时期。

我们切换到自动生成强类型类,当然,由于时间,我们看到几千警告

资源名称“嗒嗒”是不是有效的标识符。

我知道,那不是,发电机的变化周期为下划线,并且一切都很好。

我可以抑制警告? 它似乎并不具有相关联的数#PRAGMA了。

Answer 1:

我想我可以摄制,虽然它不是在问题结晶。 项目+属性,资源和类型,如“foo.bar”的字符串资源名称触发此警告。

是的,你不能禁止这种警告,它是由在IDE中的资源设计器生成。 当自动生成从属性\ Resources.resx文件属性\ Resources.Designer.cs文件的代码。 看.resx文件并检查“name”属性的<data>元素。 在属性值的周期将会触发警告。

一个精心设计的搜索和替换正则表达式可以通过转动周期为下划线解决这个问题。 这给了我个人的两个问题,我只是写一个使用的XDocument一个小程序。 还要检查,如果你仍然需要这个自动生成的代码,听起来像您要更换它。



Answer 2:

这将抑制所有警告与给定cs文件

#pragma warning disable

你也应该能够右键单击该警告,然后单击显示错误帮助。 它应该给出确切的警告数量,这样就可以通过进入项目属性,然后构建页面,并输入其到禁止警告文本抑制只是整个项目的警告。

经过进一步研究则显得有些警告不能被抑制。 请参阅有关/ nowarn C#编译器选项MSDN上的细节http://msdn.microsoft.com/en-us/library/7f28x9z3.aspx

其中之一是编译器警告(等级1)CS2029它指的是“不是一个有效的标识符”警告你得到。 您可以进一步确认,它不能被访问的编译器的细节警告(1级),这里CS2029抑制http://msdn.microsoft.com/en-us/library/878y1894.aspx



Answer 3:

一个真正可怕的工作,在这里将取消夫妇从资源工具生成的代码:

比方说,你的资源文件的名称是Resources.resx

  1. 通过双击Resources.resx在Visual Studio中的项目打开资源的工具。

  2. 设置您的访问修饰符适合您使用的是生成的代码范围。

  3. 在Windows资源管理器,进入目录的住房和Resources.resx代码Resources.Designer.cs。 (手动浏览或您的项目/文件夹的命名空间右击并“在Windows资源管理器打开文件夹”选择)

  4. 重命名Resources.Designer.csResources.cs

  5. 返回到Visual Studio中的资源工具和访问修饰符设置为“无代码生成”

  6. 保存,关闭资源工具

  7. 点击在解决方案资源管理器窗口上方的“显示所有文件”图标。 该Resources.cs文件应该出现在幻影形式相同的文件夹Resources.resx

  8. 右键单击Resources.cs并选择“包含在项目”

这些警告现在应该消失。 当然,这项工作的不便,周围是,你将不得不所有这些步骤你修改的资源文件中的任何时间。



Answer 4:

和强类型资源生成被打开的文件 - 如果资源名称是不是有效的标识符(“”为例,它包含空格或)出现此警告。 这是一个警告,而不是一个错误,因为强类型的资源名称将改为一个有效的名称(例如,“AB”将改为“A_B”),但资源名称将保持“A B”。

更正此错误

如果可能的话,你应该首先改变了资源的名称为有效的标识符。 如果这不是一个有效的选项,这.resx文件禁用强类型资源生成代码。 要做到这一点,选择在Solution Explorer .resx文件并清除自定义工具属性。

来源: http://msdn.microsoft.com/en-us/library/ms228672(v=vs.80).aspx



文章来源: Suppress “The resource name is not a valid identifier”