public class MultiSomething { } //CA1704:IdentifiersShouldBeSpelledCorrectly
当我运行代码分析时,我收到错误,因为 Microsoft 无法识别“Multi”一词(想想他们在IMultiValueConverter
)。因此,我纠正此问题的方法是添加 CodeAnalysisDictionary.xml 文件并按照提供的步骤进行操作here http://msdn.microsoft.com/en-us/library/bb514188.aspx#bkmk_dictionarywordscompoundtermcompoundalternate。但是,这似乎并没有解决问题,我仍然收到代码分析警告消息。
为了确保这不是识别单词部分的错误,我添加了另一个类和另一个异常。
public class MultiSomething { } //CA1704:IdentifiersShouldBeSpelledCorrectly
public class MutiiSomething { } //NO WARNING
<Dictionary>
<Words>
<Recognized>
<Word>Multi</Word> <-- This seems to not do anything... -->
<Word>Mutii</Word> <-- This actually does something... -->
</Recognized>
</Words>
</Dictionary>
修复它的另一种方法是使用 SuppressMessage,尽管如果我打算在各处使用这个词,那么这不是一个合适的解决方案。
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Multi")]
public class MultiSomething { } //NO WARNING (Suppressed)
微软真的阻止了“Multi”添加到识别的单词中吗?
你可以参考这个反馈票 https://connect.microsoft.com/VisualStudio/feedback/details/640787/custom-dictionary-does-not-behave-as-expected。这显然是设计使然。
您所看到的行为是因为代码分析附带了一个预定义的自定义字典,当存在冲突时,该字典始终会覆盖任何其他自定义字典。在这种情况下,“multi”在默认 FXCop 词典中被列为 单词。
要解决此问题,请打开默认词典 %VS 安装目录%\Team Tools\Static Analysis Tools\FxCop\CustomDictionary.xml 并注释掉或删除 单词部分中的“multi”条目; “multi”将不再在代码分析中被标记为拼写错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)