Tag: fxcop

FxCop for .NET 4.0

我知道Visual Studio 2010内置了一个新的代码分析工具 ,但这只是针对高级和最终版本。 从我所看到的最新的FxCop支持.NET 3.5 SP1 。 search我无法find任何对.NET 4.0的FxCop的引用。 是否有计划继续提供FxCop并支持.NET 4.0? 我在哪里可以find更多关于它的信息并下载它?

如何让FxCop自定义词典工作?

如何才能使FxCop自定义字典正常工作? 我已经尝试添加要识别的文字“CustomDictionary.xml”,该文件保存在与FxCop项目文件相同的文件夹中。 这似乎不起作用,因为即使在重新加载并重新运行FxCop之后,我仍然得到“标识符应该拼写正确”的FxCop消息。 使用版本1.36。

如何扩展WinForm的Dispose方法?

我从FxCop得到这个警告: “'RestartForm'包含IDisposabletypes的'RestartForm.done'types:'ManualResetEvent',改变'RestartForm'上的Dispose方法来调用Dispose或Close这个字段。 好吧,我明白这是什么意思,为什么这是需要做的…除了System.Windows.Forms.Form不允许你重写.Close()或.Dispose() ,那么该怎么办? 目前我正在运行这个解决scheme: private void RestartForm_FormClosing(object sender, FormClosingEventArgs e) { done.Set(); done.Close(); } 其中的作品按照我的应用程序的预期…但FxCop仍然显示此消息。 我是否覆盖了,我可以放心地忽略它,还是有另一种方法,我应该这样做?

参数命名:filename或fileName?

我尝试在我的命名*中语法正确。 我一直使用filename而不是fileName 。 Java惯例也似乎使用这个,但FxCop更喜欢fileName 。 有关WikiPedia的讨论 。 我越读越多,我觉得我是对的(这是很平常!:))。 有没有人有一个明确的答案,或者这只是一个主观的东西? *我只希望在这篇文章中没有语法错误!

在没有安装Visual Studio 2013/2015的情况下运行代码分析(FxCop 12.0 / 14.0)

在FxCop 10之后,微软停止为FxCop发布一个单独的安装程序。 在安装Visual Studio 2013/2015之后,官方目前只能运行代码分析(FxCop 12.0 / 14.0)。但是,我们坚持不要在构build代理上安装Visual Studio(然后安装需要与我们保持同步有开发计算机等)。 那么如何让FxCop 12.0 / 14.0在构build代理上工作,最好不用安装其他东西? 不过,我会接受添加一些二进制文件和msbuild文件到源代码控制。 否则:有没有办法只使用Visual Studio 2013/2015安装程序安装FxCop的东西? 注意:我们使用Teamcity作为构build服务器。

Visual Studio代码分析与StyleCop + FxCop

我之前在我的Visual Studio项目中使用过StyleCop + FxCop。 但是现在我正在testingVisual Studio代码分析工具,这个工具更容易集成到MSBuild中,我发现这个工具分析了FxCop和StyleCop的一些规则。 这个工具是否完全取代了FxCop和StyleCop,还是只是实现了一些规则?

Stylecop vs FXcop

Stylecop是否取代了FXcop? 我们应该在Visual Studio 2008中使用哪种产品?

为什么公开列表<T>不好?

根据FXCop,List不应该暴露在API对象模型中。 为什么这被认为是不好的做法?

为什么/什么时候应该在.net中使用嵌套类? 或者不应该?

在Kathleen Dollard最近的博客文章中 ,她提出了在.net中使用嵌套类的一个有趣的理由。 但是,她也提到FxCop不喜欢嵌套类。 我假设编写FxCop规则的人不是愚蠢的,所以这个职位背后一定有推理,但是我一直没能find它。

CA2202,如何解决这种情况

任何人都可以告诉我如何从下面的代码中删除所有的CA2202警告? public static byte[] Encrypt(string data, byte[] key, byte[] iv) { using(MemoryStream memoryStream = new MemoryStream()) { using (DESCryptoServiceProvider cryptograph = new DESCryptoServiceProvider()) { using (CryptoStream cryptoStream = new CryptoStream(memoryStream, cryptograph.CreateEncryptor(key, iv), CryptoStreamMode.Write)) { using(StreamWriter streamWriter = new StreamWriter(cryptoStream)) { streamWriter.Write(data); } } } return memoryStream.ToArray(); } } 警告7 CA2202:Microsoft.Usage:Object'cryptoStream'可以在方法CryptoServices.Encrypt(string,byte [],byte [])'中多次使用。 为了避免产生System.ObjectDisposedException,你不应该在一个对象上多次调用Dispose:Lines:34 警告8 CA2202:Microsoft.Usage:Object'memoryStream'可以在方法CryptoServices.Encrypt(string,byte […]