0

私たちは、FxCop 統合 VS 拡張機能を使用して、コード分析のために FxCop を VS 2010 プロフェッショナルと統合する作業を行っています。FxCop で構成されているすべての既定のルール セットを使用して、たくさんのポイントが報告されていることがわかりました。これらは、あると便利ですが、必ずしもベスト プラクティスに厳密に違反しているわけではなく、ほとんどの場合、なしで実行できるわけではありません。基本的にFxCopのすべてのルールのサブセットであるルールのリストはありますか?人々は一般的に、必須と見なすことができるWebベースのプロジェクトのコード分析を行うために使用しています. 私たちは軽くグーグルで検索しましたが、コミュニティが一般的にウェブベースのasp.net/C#に従っているルールの優先サブセットをリストする単一のリソースを取得できませんでした(個々の選択に基づいて特定のルールを無視することについての議論はウェブ全体に広がっています)プロジェクト。

4

2 に答える 2

0

実際には、TeamCity 統合を使用してこれを使用していますが、ルールは同じである必要があります。以下を一度試してください:

<?xml version="1.0" encoding="utf-8"?>
<FxCopProject Version="1.36" Name="testApplication">
 <ProjectOptions>
  <SharedProject>True</SharedProject>
  <Stylesheet Apply="False">\tools\fxcop\Xml\FxCopReport.xsl</Stylesheet>
  <SaveMessages>
   <Project Status="Excluded" NewOnly="False" />
   <Report Status="Active" NewOnly="False" />
  </SaveMessages>
  <ProjectFile Compress="True" DefaultTargetCheck="True" DefaultRuleCheck="True" SaveByRuleGroup="" Deterministic="True" />
  <EnableMultithreadedLoad>True</EnableMultithreadedLoad>
  <EnableMultithreadedAnalysis>True</EnableMultithreadedAnalysis>
  <SourceLookup>True</SourceLookup>
  <AnalysisExceptionsThreshold>10</AnalysisExceptionsThreshold>
  <RuleExceptionsThreshold>1</RuleExceptionsThreshold>
  <Spelling Locale="en-GB" />
  <OverrideRuleVisibilities>False</OverrideRuleVisibilities>
  <CustomDictionaries SearchFxCopDir="True" SearchUserProfile="True" SearchProjectDir="True" />
  <SearchGlobalAssemblyCache>False</SearchGlobalAssemblyCache>
  <DeadlockDetectionTimeout>120</DeadlockDetectionTimeout>
  <IgnoreGeneratedCode>False</IgnoreGeneratedCode>
 </ProjectOptions>
 <Targets>
    <Target Name="$(ProjectDir)/../../solution/PrecompiledWeb/application/bin/App_Code.dll" Analyze="True" AnalyzeAllChildren="True" />
 </Targets>
 <Rules>
  <RuleFiles>
   <RuleFile Name="$(FxCopDir)\Rules\DesignRules.dll" Enabled="True" AllRulesEnabled="True" />
   <RuleFile Name="$(FxCopDir)\Rules\GlobalizationRules.dll" Enabled="True" AllRulesEnabled="True" />
   <RuleFile Name="$(FxCopDir)\Rules\InteroperabilityRules.dll" Enabled="True" AllRulesEnabled="True" />
   <RuleFile Name="$(FxCopDir)\Rules\MobilityRules.dll" Enabled="True" AllRulesEnabled="True" />
   <RuleFile Name="$(FxCopDir)\Rules\NamingRules.dll" Enabled="True" AllRulesEnabled="True" />
   <RuleFile Name="$(FxCopDir)\Rules\PerformanceRules.dll" Enabled="True" AllRulesEnabled="True" />
   <RuleFile Name="$(FxCopDir)\Rules\PortabilityRules.dll" Enabled="True" AllRulesEnabled="True" />
   <RuleFile Name="$(FxCopDir)\Rules\SecurityRules.dll" Enabled="True" AllRulesEnabled="True" />
   <RuleFile Name="$(FxCopDir)\Rules\UsageRules.dll" Enabled="True" AllRulesEnabled="True" />
  </RuleFiles>
  <Groups />
  <Settings />
 </Rules>
 <FxCopReport Version="1.36" />
</FxCopProject>
于 2012-05-10T06:33:01.813 に答える
0

いいえ、そのような獣はありません。たとえあったとしても、リストを作成した人が下した決定が実際にあなたの状況に合っていることをどのように確認できますか?

ルールは 200 程度しかありません。1、2時間座って、どれが重要だと思うかを考えてみませんか? 近道をして、現在違反しているものを確認することもできます。これにより、スクリーニング作業が 1 時間あたり 1/2 未満になる可能性があります。

于 2012-05-10T12:33:19.447 に答える