0

複数のプロジェクトを含むソリューションがあり、FxCop を使用しています。要求されたコンパイルが完了したら、それを実行したいと考えています (1 つのプロジェクト、複数のフォルダーを含むフォルダー、またはソリューション全体である可能性があります)。

これを行う方法はありますか?現在、プロジェクトごとに行っていますが、これにはいくつかの欠点があります。

4

2 に答える 2

2

はい、特定の命名パターンを使用してソリューション ファイルの隣にファイルを配置することで、それを行う方法があります。after.{Your solution name here}.sln.targets

<!--?xml version="1.0" encoding="utf-8"?-->
<project toolsversion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <target name="AtTheStart" beforetargets="Build">
    <message text="GenerateCode target running" importance="high">
    </message>
  </target>
  <target name="AtTheEnd" aftertargets="Build">
    <message text="GenerateCode target running" importance="high">
    </message>
  </target>
</project>

ただし、FxCop を効果的に実行し、visualstudio をインストールしたい場合は、ビルド中に MsBuildを含める/p:RunCodeAnalysis=trueか呼び出しで実際にアクティブ化できます。/p:RunCodeAnalysis=alwaysこれにより、ビルド中に構成されたルールセット ファイルが実行されます。/p:CodeAnalysisRuleSet=PathTo.ruleset特定のルールセット ファイルを指定できます。

コマンドラインは常にプロジェクト自体の構成を上書きします。そして、それは最適な方法で実行されます。

于 2015-01-21T15:34:55.007 に答える
1

FxCop プロジェクト セット (すべてのプロジェクトにすべての dll を含む) を配置し、すべてのプロジェクトが VS でビルドされた後に呼び出します。

于 2015-03-19T05:14:06.153 に答える