gpt4 book ai didi

visual-studio-2010 - 使用 VS 2010 Professional 进行 .NET 4.0 静态代码分析 (FxCop)

转载 作者:行者123 更新时间:2023-12-04 06:11:36 28 4
gpt4 key购买 nike

我有 VS 2010 专业 (与 Premium 不同,它不包括访问 IDE 中的代码分析配置),以及包含许多项目的 C# 4 解决方案。我想做静态代码分析作为解决方案编译的一部分。

我在 SO 和 Google 的帮助下确定的可能方法是:

  • 编辑每个 .csproj在解决方案中将独立 FxCop 10 的调用包含为构建后事件。优点:每次编译都发生在每个重建的项目中。缺点:必须采取额外措施以确保新项目具有此指定
  • 创建一个新项目,或识别一个现有项目,由于其项目依赖关系,该项目始终是最后构建的。给(只是)该项目一个 Post-build 事件,该事件在(公共(public))输出文件夹中的所有程序集上运行 FxCop。优点:只需更新一个文件, future 项目未经分析的可能性较小。缺点:构建依赖的变幻莫测可能意味着这实际上不起作用
  • 使用在任何构建后运行 FxCop 的加载项或宏更新所有开发人员的 VS 实例。根本不喜欢这个主意。

  • 有没有其他选择,显然比上述任何一个都好?为了进行上述工作之一,我是否需要注意任何警告或观察?

    我还希望 FxCop 作为 MSBuild 4.0 的一部分运行- 在构建服务器上构建。哪些选项允许我在桌面编译和 bulid 服务器编译之间重用代码分析规则集?

    我已经阅读了相关但不相同的现有问题,包括:
  • FxCop for .NET 4.0它询问“独立的 FxCop 还可用吗?”
  • FxCop on build (Visual Studio 2008 Professional)这是关于一个项目
  • How to integrate FxCop and VS 2008?这是关于使 FxCop 调用可临时可用,在上下文菜单上单击
  • 最佳答案

    要将 FxCop 集成为构建脚本 (MSBuild) 的一部分,我使用 MSBuild.Community.Tasks 中的 FxCop 任务.我使用 FxCop 创建了一个 FxCop 项目 (FxCopProject.FxCop),它定义了要使用的规则和要检查的程序集。

    <?xml version="1.0" encoding="utf-8"?>
    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
    <MSBuildCommunityTasksPath>$(MSBuildProjectDirectory)\vendor\MSBuild.Community.Tasks.v1.3.0.504</MSBuildCommunityTasksPath>
    <FxCopDir>vendor\Microsoft Fxcop 10.0</FxCopDir>
    </PropertyGroup>
    <Import Project="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.Targets"/>

    <Target Name='FxCopReport'>
    <FxCop
    ToolPath='$(FxCopDir)'
    ProjectFile='FxCopProject.FxCop'
    AnalysisReportFileName='FxCopReport.xml'
    />
    </Target>
    </Project>

    关于visual-studio-2010 - 使用 VS 2010 Professional 进行 .NET 4.0 静态代码分析 (FxCop),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3872184/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com