标签: fxcop

获取FxCop来抑制整个类型的警告?

如何抑制整个类型的FxCop警告?

namespace ConsoleApplication1
{     
    public static class Serializer<T>
    {
        public static string Serialize(T obj)
        {
            return string.Empty;
        }

        public static T Deserialize(string str)
        {
            return default(T);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我尝试过这个,但它对我不起作用:

[assembly: SuppressMessage("Microsoft.Design",
    "CA1000:DoNotDeclareStaticMembersOnGenericTypes", Scope = "Type",
    Target = "ConsoleApplication1.Serializer'1")]
Run Code Online (Sandbox Code Playgroud)

.net c# code-analysis fxcop suppressmessage

11
推荐指数
1
解决办法
4002
查看次数

StyleCop/FxCop 10 - 如何仅在命名空间级别上正确抑制消息?

FxCop 10抱怨以下内容:

using XYZ.Blah; //CA1709 - "XYZ"
using Xyz.Blah; //No complaint.

using XylophoneSuperDuperLongFullName.Blah; //I don't want to have a long full name for my company name.
Run Code Online (Sandbox Code Playgroud)

问题是......我希望我的公司名称显示在所有大写字母中,因为XYZ是缩写.该名称的长版本太长,无法成为有用的命名空间.微软逃脱了这种东西,因为他们的首字母缩写只有两个字母.

using MS.Something; //No Complaint.
using Microsoft.SomethingElse; //No Complaint.
Run Code Online (Sandbox Code Playgroud)

所以,我正在考虑添加一个SuppressMessageAttribute来抑制此警告.但是,我不确定如何恰当地这样做(或者甚至在哪里坚持它),以便它只影响这一个实例.我不想在该命名空间中抑制任何内容,因为我想抓住我犯的任何其他错误.我确实看过msdn和谷歌搜索但我找不到任何显示如何专门针对这个实例.我发现最接近的是Scope ="namespace",但我不确定这是否意味着它会影响实际的命名空间名称,或者它是否会影响该命名空间中的所有内容.

c# fxcop namespaces stylecop suppressmessage

11
推荐指数
2
解决办法
2万
查看次数

如何管理FxCop压倒性的报道

我最近开始使用它.然而,在针对我公司最大的一个项目运行之后.它引发了大量的问题.

问题列表如此庞大,如果不是所有的东西,需要花费数天的时间来找到并修复一些问题.

现在,我知道解决FxCop告诉你解决的所有问题并不是很实际.但由于我是这个小工具的新手...

有效使用FxCop有哪些好的提示和技巧?

在新项目和现有项目上?

如果还提供我公司的程序员一般写好代码?

.net fxcop coding-style

10
推荐指数
1
解决办法
853
查看次数

Visual Studio代码分析规则 - "不公开通用列表"

不要公开通用列表

如果我的所有方法都需要公开一个集合,那么我需要使用Linq扩展.ToList(),几乎我需要在所有代码中使用列表或用户集合.

如果是这种情况,.ToList()忽略规则吧?或者是否有一种技术,如复制列表,以修复违规并仍然返回列表?

c# linq extension-methods code-analysis fxcop

10
推荐指数
2
解决办法
3995
查看次数

有没有办法识别未使用或陈旧的FxCop消息抑制?

我们使用FxCop的全局抑制来抑制旧代码中发现的规则违规.旧代码我的意思是在我们开启代码分析之前几年编写的代码.我们修复了新代码中的违规行为 我们无法一次性修复旧代码中的违规行为,因此我们使用了抑制.

随着时间的推移,我们的全局抑制文件变得臃肿 通常,当签名在旧方法上发生更改时,先前的抑制将变为无效,因为它不再与代码匹配.我们创建了新的抑制来忽略旧的违规,但通常会留下旧的SuppressMessage属性.

有人知道如何识别与代码不匹配的SupressMessage声明吗?对于这个问题,是否有人知道如何识别无效的SuppressMessage属性,因为没有违反的压力?

我想可能存在可能识别未使用的抑制的编译器或FxCopCmd警告或日志消息.如果没有,那么有人知道脚本或VS扩展吗?

谢谢.

.net fxcop visual-studio

10
推荐指数
1
解决办法
467
查看次数

如何防止FxCop分析自动生成的代码?

FxCop(静态代码分析工具)在检查.edmx模型后面的代码时给出了错误.如何防止FxCop分析自动生成的代码(或至少是Entity Framework生成的类)?

.net code-analysis entity-framework fxcop visual-studio-2010

10
推荐指数
1
解决办法
4451
查看次数

如何修复FxCop错误代码512?

在重构时,在一些程序集周围移动等等.我在Visual Studio中编译了一个解决方案并找回了一条错误消息:"FxCop退出时出现错误代码512".除了这个错误之外,构建似乎很好.

有谁知道这实际上意味着什么?我可以从哪里开始寻找解决方法?将FailOnError设置为false不是我想要关闭的路径.

c# fxcop visual-studio-2010

10
推荐指数
3
解决办法
7636
查看次数

FxCop安装

我想获得最新版本的FxCop.我使用的是不包含代码分析的Visual Studio 2010专业版,因此​​我尝试使用FxCop进行设置.

http://www.microsoft.com/en-us/download/details.aspx?id=6544上有自述文件说安装包含最新FxCop的Windows SDK.我从这里安装了Windows SDK http://www.microsoft.com/en-us/download/details.aspx?id=8442,它根本不包括FxCop,我检查了x86和x64版本.

知道我在哪里可以找到它吗?FxCop是否已被Microsoft支持?

编辑: 我完全安装了Windows SDK.我在Windows 7 x86上安装x86版本.我只在x64 Windows SDK ISO中搜索FxCop,只能将其解压缩到文件夹中.

我找到FxCop 10的唯一地方是回答/sf/answers/500638701/

winapi fxcop visual-studio-2010 windows-7

10
推荐指数
2
解决办法
1万
查看次数

使用Microsoft.CodeAnalysis.FxCopAnalyzers nuget优于默认的托管二进制分析规则集有什么好处?

我目前使用Managed Binary Analysis,看起来nuget添加了相同的规则(可能更少).

我也使用这个SonarQube插件:https://github.com/SonarQubeCommunity/sonar-fxcop.

准确的是什么?

.net fxcop software-quality analyzer

10
推荐指数
1
解决办法
2024
查看次数

如何实现通用的IEnumerable或IDictionary来避免CA1006?

出于好奇,我想知道如何最好地实现一个可用于避免CA1006警告的类

CA1006:Microsoft.Design:考虑一种设计,其中'IReader.Query(String,String)'不嵌套泛型类型'IList(Of IDictionary(Of String,Object))'.

这是返回泛型类型的方法

public virtual IList<IDictionary<string, object>> Query(
    string fullFileName, 
    string sheetName)
{
    using (var connection = new OdbcConnection(
        this.GetOdbcConnectionString(fullFileName)))
    {
        connection.Open();
        return connection
            .Query(string.Format(
                CultureInfo.InvariantCulture,
                SystemResources.ExcelReader_Query_select_top_128___from__0_,
                sheetName))
            .Cast<IDictionary<string, object>>()
            .ToList();
    }
}
Run Code Online (Sandbox Code Playgroud)

就像是

SourceData<T, U> Query(string fullFileName, string sheetName)
SourceData Query(string fullFileName, string sheetName)
Run Code Online (Sandbox Code Playgroud)

编辑:

根据Marc的建议,我在这个类中封装了嵌套泛型

public class QueryRow : List<KeyValuePair<string, object>>
{
    protected internal QueryRow(IEnumerable<KeyValuePair<string, object>> dictionary)
    {
        this.AddRange(dictionary.Select(kvp => kvp));
    }
}
Run Code Online (Sandbox Code Playgroud)

c# generics ienumerable fxcop dapper

9
推荐指数
1
解决办法
2899
查看次数