ReSharper 7.1.1コード検査は、ソースツリー内のフォルダーに直接対応していないURLに関係する場合<location>
、ファイル内の要素が冗長であると誤って報告します。web.config
ASP.NETMVCまたはWebAPIを使用している場合、通常、特定の物理フォルダーに直接対応しないURLパスがあります。
ソリューション全体の検査を実行すると、2つの警告が表示され、そのうちの1つを無効にすることはできましたが、2つ目を無効にする方法がわかりません。
1つ目は、「冗長ロケーション要素」の警告です。ReSharperはロケーションセクション全体をフェードアウトします。フェードアウトするものの例を次に示します。
<location path="FederationMetadata">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
ACS経由でフェデレーションログインを使用していて、そのためのメタデータエンドポイントを提供する場合は、この構成が必要です。ただし、この名前の対応するパスはありません。
(厳密に言えば、これはMVCまたはWeb APIとは関係ありません。非常に一般的な例であるため、この例を示しました。ただし、私のプロジェクトには、<location>
MVCおよびWeb APIルーティング構成で処理されるパスに対応する要素もいくつかあり、それらには同じ問題。根本的な原因は同じようです。ReSharperはプロジェクト内のこの場所に対応するものを何も見ることができないため、間違っていると誤って結論付けます。MVCとWeb APIコントローラー、およびその他のパスに影響します。モジュールのようなもののために利用可能です。)
この最初の警告を取り除くのは簡単です。検査の重大度の設定でオフにすることができます。
次に、2番目の警告が表示されます:「ロケーション要素は使用されていません:FederationMetadataにプロジェクトアイテムが見つかりません」(および対応する<location>
要素を持つ各コントローラーに対する同様の警告)。
これは、ソリューション全体を検査するときに表示される[検査結果]パネルにのみ表示されます。ソースファイル自体を見ると、通常の検査ウィジェットは表示されません。そして奇妙なことに、これには無効にするオプションがないようです。
右クリックして[非表示...]を選択できることは知っていますが(これは「冗長な場所」の問題であると思われますが、設定ですでに無効にしています)、私が知る限り、検査結果を非表示にすることは私のマシンにローカルです。この警告がどこにも表示されないように、チーム共有ドット設定を構成したいと思います。
各ユーザーに結果を隠さずに、すべてのユーザーのクリーンな検査結果を目指しています。Resharperは、この問題を誤って報告しています。これは問題ありませんweb.config
。R#が誤解しているだけです。この2番目の警告を消す方法を誰かが知っていますか?(または、より良いことに、これらの「隠された」場所が実際に存在することをR#が認識できるようにする方法はありますか?)