3

カスタムコンパイラの警告
C#:ソースコードで特定のメソッドが使用されている場合、作成
者の管理下にあるコードを処理するため、VisualStudioでカスタム警告を作成しても効果がありません。

MessageBox.Show("blah");ソフトウェアでサードパーティのUIコントロールスイート(DevExpress)を使用しており、誰かが代わりに使用したときに警告を生成したいXtraMessageBox.Show("blah");

それを行う方法はありますか?

4

3 に答える 3

5

この種のことは、FxCop /VisualStudioコード分析のカスタムルールを介して比較的簡単に対処できます。Visual Studio Developer Editionを使用している場合は、IDEでのコンパイルの警告とエラーの横にルールの失敗が表示されることもあります。

于 2009-10-13T14:43:17.340 に答える
2

.NETで実際のカスタムコンパイル時エラーを実行する方法はありませんが、通常はコンパイル後に検証ロジックをビルドプロセスに挿入できるサードパーティツール(無料と商用の両方)がいくつかあります。

問題を解決するために私が知っている3つの方法を次に示します。

  1. Resharper 5.0($)は、カスタムルール/警告をサポートします。
  2. PostSharp (無料)では、 OnMethodBoundaryアスペクトを定義し、そのCompileTimeValidateメソッドを上書きして、[post]コンパイル時エラーを発行できます。
  3. NDependをビルドプロセス($)と統合して、そのようなコーディングポリシーを適用できます。
于 2009-10-13T14:31:39.313 に答える
1

いいえ、直接的な方法はありません。あなたがそれについて考えるならば、あなたはあなたがコンパイルさえしないいくつかのコードのためのコンパイラ警告を探しています。

これが本当に必要な場合は、コンパイルされたアセンブリでReflectionメソッドを使用して、不要なメソッド/アセンブリが呼び出されているかどうかを確認できます。セシルには、必要な機能がたくさんあります。次に、ビルドプロセスのこの部分を作成できます。

于 2009-10-13T14:19:22.587 に答える