问题标签 [gendarme]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1294 浏览

.net - 让 AssemblyVersion 和 AssemblyFileVersion 匹配是否有充分的理由?

宪兵AvoidAssemblyVersionMismatchRule以下描述:

此规则检查当两者都存在于程序集中时是否[AssemblyVersion]匹配。[AssemblyFileVersion]部署应用程序后,两个属性中的版本号不同可能会造成混淆。

例如,此规则将对System.dll具有以下属性的 Microsoft 发出警告:

我不同意宪兵的规定。遵循它将使您无法使用类似于 Microsoft 使用的版本控制方案,即

  • 每个版本的更新AssemblyFileVersion
  • 仅在公共界面上更改AssemblyVersion或其他重大更改,
  • 确保AssemblyVersionAssemblyFileVersion共享一个共同的前缀,

而且我认为这种版本控制方案是设计原因,它可以首先区分AssemblyVersionAssemblyFileVersion

我想不出为什么强制两个程序集属性相等是一个好习惯的原因,但也许你可以!我会对你的意见感兴趣。

如果确实没有充分的理由,我会很快建议宪兵开发人员将规则更改为

当两者都存在于程序集中时,此规则检查[AssemblyVersion]是否具有公共的非空前缀。[AssemblyFileVersion]

0 投票
4 回答
822 浏览

fxcop - 你希望 FxCop/宪兵有什么规则?

您希望看到哪些可定义的静态代码检查规则添加到 FxCop 和/或宪兵队?

您为什么希望看到添加的规则,例如有什么好处等?

你的规则如何实施?

0 投票
1 回答
727 浏览

gendarme - 宪兵规则定制

有谁知道明确指定宪兵将使用哪些规则的正确方法?或者排除哪些规则?在 Mono 文档中搜索答案,我并没有很高兴。

我要做的是在 Gendarme rules.xml 文件中一一指定规则,如下所示:

这样做,我希望我们可以关闭我们不关心的规则。问题是,在以这种方式指定所有规则之后,与使用 Gendarme 提供的默认方法时相比,我检测到的缺陷数量不同,其形式为:

有没有人这样做过?或者任何人都可以指出一些宪兵规则使用文档的方向吗?

0 投票
3 回答
1267 浏览

code-analysis - 如何抑制宪兵缺陷?

是否可以抑制特定的宪兵缺陷信息?我想在源代码中使用标志或类似的东西来做到这一点。

0 投票
1 回答
239 浏览

.net - fxcop 由于对混淆程序集的引用而失败

我需要在引用混淆商业程序集(来自 dotnetremoting.com)的项目上运行 fxcop。Fxcop 尝试加载经过混淆的程序集但失败了……我遇到了与 Mono Gendarme 完全相同的问题。它还尝试分析引用的程序集并失败。提前感谢您的回复

亚历克斯

0 投票
1 回答
108 浏览

c# - 如何避免我不想处理的字段出现“DisposableFieldsShouldBeDisposedRule”缺陷?

有一个 IDisposable 包含记录器的字段:

宪兵报告说有一个DisposableFieldsShouldBeDisposedRule-Defect,但我不想处置记录器。

谁能帮我?

0 投票
1 回答
319 浏览

c# - ArgumentNullException、索引器和宪兵规则错误

我有索引器并想检查它是否不为空,如果是则抛出 ArgumentNullException,但宪兵设置了警告

InstantiateArgumentExceptionCorrectlyRule:此方法在不指定现有参数名称的情况下引发 ArgumentException(或派生)异常。这可以向开发人员隐藏有用的信息。修复异常参数以使用正确的参数名称(或确保参数的顺序正确)。

如何修复我的索引器?

0 投票
1 回答
241 浏览

c# - 宪兵不安全代码检测

任何熟悉 Gendarme 的人都知道是否可以创建一个检测 C# 不安全代码的规则?

0 投票
2 回答
1498 浏览

visual-studio-2008 - 宪兵忽略列表格式

我正在开发一个 C# 解决方案,我正在使用与 Visual Studio 集成的 Gendarme,以便在编译时输出到错误列表窗口。

我可以在 Gendarme 的源代码和文档中看到,您可以指定一个忽略列表以让 Gendarme 忽略程序集中的某些类,但我一生都无法在网上找到任何显示格式示例的文档此文件需要。

任何人都可以帮忙吗?

0 投票
2 回答
3929 浏览

.net-4.0 - 无法从 SatelliteResourceMismatchRule 加载文件或程序集...

我们最近将 C# 项目从 .NET 3.5 更新到了 4.0。我们在本地机器和 CC.NET 上运行 Gendarme。在更新了我们所有的项目后,Gendarme 正在为我们的一个程序集收到此错误(打开日志记录):

在多台计算机上发生相同的错误。Gendarme 在引用 System.Drawing 的其他程序集以及引用损坏的程序集的程序集上工作正常。我为宪兵创建了一个配置文件并指定了 .NET 4.0,但我仍然遇到同样的错误。我删除了引用并再次添加它,没有任何变化。如果我运行我们的程序,则此程序集中的控件可以加载并正常工作。我们在这个程序集中进行了单元测试,NUnit 和 PartCover 也运行良好。

我注意到它使用的是 Framework64\v2.0.50727 文件夹中的 machine.config 文件,但我不明白为什么这个程序集会与其他程序集不同。这可能是个问题吗?我还能尝试什么?