2017-10-17 8 views
1

名前空間をインポートしようとするとコンパイラの警告を強制的に表示する方法はありますか?名前空間のインポートを防止する

は例えば、プロジェクトがSystem.Dataへの参照が必要な場合がありますが、我々はのSystem.Data.OleDbをインポートするから、そのプロジェクト内のすべてのクラスやモジュールを防ぎ、代わりにカスタムデータアクセスへの切り替えをお勧めしたいと思いますとしょうかん。

私の推測では、それがロスリンのようなカスタムコンパイラツールを使用して実現できるが、

+0

Roslyn Analyzerを作成することができます。 – SLaks

+0

ありがとうございます。私はRoslynがブログを使ってみたいと思っていましたが、今はオプションではありません。それが私が必要とすることをすることができることを知っていればよい – mfreedm52

答えて

2

ReSharperは、セットアップカスタムルールと検証することができますのVisual Studioでなんとかなるべきもののように思えます。 Options->Code Inspection->Custom Patternsでは、カスタム検証パターンを作成できます。

Add patternを選択し、検索パターンとして禁止された名前空間を使用して(たとえばSystem.Data.OleDb)、置き換えパターンに置き換えます(Custom.Optimized.OleDbなど)。次に、重大度を設定して、ReSharperが変更を提案するでしょう。

明らかに、これはあなたとあなたのチームがReSharperを使用している場合にのみ有効です。 (あなたが本当にすべきでない場合)

アップデート:コメント欄での質問に回答:あなたはReSharperのは

Resharperは、設定の3つのレベル使用する開発チーム間でルールを管理する方法を知っています:

  1. 個人設定:これらの設定はユーザーアカウントにバインドされています。これらの設定は、ローカルに保存して
  2. チームを共有一つの特定のソリューションに適用されています:これらの設定は1に適用されているユーザーアカウント(Windowsユーザーアカウント)
  3. はソリューション設定を操作しながら、それらの設定は、すべてのソリューションに適用されますあなたがチェックインした設定ファイルに保存され、チーム全体で利用可能になります。

設定レベルチーム共有を使用すると、共通の設定ファイルをチーム全体と共有できます。

さらに、Resharperは無料のコマンドラインツールを提供しています。ビルドサーバーに統合して、自動ビルドでこれらのルールを適用することができます。

+0

それはResharperもこれを行うことができることを知って良いです。 Resharperが開発チーム全体のルールをどのように管理しているかご存じですか?私はいつもそれが個々の作業を個別にチェックするツールであると思っていました – mfreedm52

+0

@ mfreedm52あなたの質問を含める答えが更新されました。 – Iqon

関連する問題