1

カスタム定義の静的コードルールに違反するチェックインを拒否したいと思います。したがって、「PerformCodeAnalysis」を「AsConfigured」に設定してGatedCheckinビルドを定義しました。

ゲートチェックインビルドで定義されたものと同じ構成とターゲットを使用してソリューションをローカルでビルドすると、エラーは発生しません。ただし、Gated Checkinビルドは、ソースで定義した[SuppressMessage]属性を無視しているようであるため、エラーが報告されます。

ゲートチェックインビルドは、GlobalSuppressionsファイルで定義されている[SuppressMessage]属性を無視しません。

他の誰かがこの問題を抱えていますか?

4

1 に答える 1

3

ローカルで問題なくビルドしたとおっしゃいましたが、Visual Studio からビルドしましたか、それとも MSBuild でビルドしましたか?

TFS ビルドは MSBuild を使用してプロジェクトをビルドします。ビルド レポートのログを参照すると、ビルド中に実行された MSBuild コマンドを確認できます (詳細レベルを少なくとも [Normal] に設定している場合)。

この問題を調査するには、この MSBuild コマンドを使用してソリューションをローカルでビルドすることをお勧めします (ビルド マシンで使用されるパスではなく、マシン上のソリューションへのパスを変更する必要があります)。これは、MSBuild でのビルドと Visual Studio でのビルドとの間の不一致を示しています。次に、MSBuild コマンドを見て、同じように動作しない理由を確認します。

お役に立てれば。

于 2012-02-02T14:23:19.850 に答える