我们在项目中使用FxCop。我们所有的代码都在C#中。
当某些开发人员通过FxCop UI进行FxCop更改(例如删除抑制)时,会对FxCop文件进行许多不必要的更改。对于其他开发人员,即使我们使用相同版本的FxCop(v10.0.30319.1),也不会发生这种情况。
这是在进行更改之前文件的一部分的示例(此部分与我们想要进行的更改无关):
<Member Name="#Bar`1(!!0,!!0)">
<Messages>
<Message Id="Bar" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Excluded" >
<Issue Name="Member">
<Item>Bar</Item>
<Item>Foo.Bar<T>(T, T)'</Item>
<Item>Bar</Item>
</Issue>
</Message>
</Messages>
</Member>
<Member Name="#Bar(System.Int32,System.Int32)">
<Messages>
<Message Id="Bar" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Excluded" >
<Issue Name="Member">
<Item>Bar</Item>
<Item>Foo.Bar(int, int)'</Item>
<Item>Bar</Item>
</Issue>
</Message>
</Messages>
</Member>
之后,同一部分看起来像这样:
<Member Name="#Bar`1(!!0,!!0)">
<Messages>
<Message Id="Bar" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Excluded" >
<Issue Name="Member">
<Item>Bar</Item>
<Item>Foo.Bar(Of T)(T, T)'</Item>
<Item>Bar</Item>
</Issue>
</Message>
</Messages>
</Member>
<Member Name="#Bar(System.Int32,System.Int32)">
<Messages>
<Message Id="Bar" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Excluded" >
<Issue Name="Member">
<Item>Bar</Item>
<Item>Foo.Bar(Integer, Integer)'</Item>
<Item>Bar</Item>
</Issue>
</Message>
</Messages>
</Member>
所以看起来整个C#语法都被改为VB.NET语法(例如<T>
变为(Of T)
,int
变为Integer
。)
变化的数量使得在查看差异时几乎不可能看到实际进行了哪些更改。
这个问题最近才开始 - 以前的工作正常。我们已经查看了设置,发现我们无法更改任何内容,尝试重新安装,Google搜索了很多...有没有人对可能导致此问题的建议有任何建议?