Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 如何将stylecop检查作为预构建操作添加到VS2010?_Visual Studio 2010_Build Automation_Stylecop - Fatal编程技术网

Visual studio 2010 如何将stylecop检查作为预构建操作添加到VS2010?

Visual studio 2010 如何将stylecop检查作为预构建操作添加到VS2010?,visual-studio-2010,build-automation,stylecop,Visual Studio 2010,Build Automation,Stylecop,在我们的项目中,我们添加了StyleCop任务,由持续集成服务器在每次提交后执行。问题是,构建经常中断,因为有人在将代码提交到存储库之前忘记运行Stylecop 解决方案是在每次VS2010构建之前执行StyleCop。我怎么做? 也许可以对整个解决方案执行预构建操作?似乎可以使用MSBuild集成(look或),这将使StyleCop检查成为构建过程的一部分 或者您可以使用某种“提交策略”,在提交期间运行StyleCop,如果StyleCop检查未通过,则拒绝提交。例如,是TFS的规则。如果您

在我们的项目中,我们添加了StyleCop任务,由持续集成服务器在每次提交后执行。问题是,构建经常中断,因为有人在将代码提交到存储库之前忘记运行Stylecop

解决方案是在每次VS2010构建之前执行StyleCop。我怎么做?
也许可以对整个解决方案执行预构建操作?

似乎可以使用MSBuild集成(look或),这将使StyleCop检查成为构建过程的一部分


或者您可以使用某种“提交策略”,在提交期间运行StyleCop,如果StyleCop检查未通过,则拒绝提交。例如,是TFS的规则。

如果您是本地或您的团队中所有项目的SyleCop规则?
钩住MSBuild脚本!!

  • 在%ProgramFiles%\MSBuild\v4.0中创建文件夹
    v4.0文件夹名称是您的.net framework

    适用于.net framework 3.5的v3.5版
    4.0和4.5之间的v4.0…

  • 然后设置“Custom.After.Microsoft.Common.targets”和“Custom.Before.Microsoft.Common.targets”
    我的经验是“Custom.Before.Microsoft.Common.targets”不起作用。

  • 在代码下包含的“Custom.After.Microsoft.Common.targets”文件中
    然后在corecomp编译之前进行StyleCop分析
  • 
    

    
    $(MSBuildExtensionsPath)\StyleCop\v4.7
    假的
    StyleCop;
    $(BuildDependsOn);
    

    查看我的博客,但内容是韩文;-)

    谢谢你的回答。我们已经在CC.Net上的日常构建中集成了msbuild。我想在每个项目构建之前添加VS2010集成。第一个链接中的“团队开发”段落描述了如何更新项目文件(),以便VS2010在每次VS2010构建项目时运行StyleCop。
    <PropertyGroup>
    
        <CI_StyleCopPath>$(MSBuildExtensionsPath)\StyleCop\v4.7</CI_StyleCopPath>
    
        <StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>
    </PropertyGroup>
    
    <Import Project="$(CI_StyleCopPath)\StyleCop.targets"
            Condition=" Exists('$(CI_StyleCopPath)\StyleCop.targets') "/>
    
    <!-- Analysis with StyleCop before build -->
    <PropertyGroup>
        <BuildDependsOn>
            StyleCop;       <!-- StyleCop.targets       -->
            $(BuildDependsOn);
        </BuildDependsOn>
    </PropertyGroup>