1. ホーム
  2. .net

[解決済み] 未使用の参照を削除する (!= "using")

2022-12-07 20:48:33

質問

プロジェクトで使用されていない参照を見つけ、削除するにはどうしたらよいでしょうか。

vs 2008 で using ステートメントを簡単に削除できることは知っていますが、これはプロジェクト内の実際の参照を削除するものではありません。参照された dll は、まだ bin/setup パッケージにコピーされたままです。

どのように解決するのですか。

*注 http://www.jetbrains.net/devnet/message/5244658 をご覧ください。

投稿を読むと、元の質問に関していくつか混乱があるように見えます。 私が挑戦してみましょう。

投稿者は、ビルド出力の一部としてアセンブリが表示されないようにしたいと考えています。

この場合、ReSharper が役に立ちます。 を識別します。 することができますが、そのためには を削除する を自分で削除する必要があります。

これを行うには、ソリューション ブラウザーの参照を開き、参照されている各アセンブリを右クリックし、"Find Dependent Code" を選択します。 参照してください。

http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code

のどちらかを取得することになります。

  1. ブラウザウィンドウに表示される、そのReferenceの依存関係のリスト、または

  2. モジュールXXXXXXに依存するコードは見つかりませんでした."というダイアログが表示されます。

2 番目の結果が表示された場合、参照を右クリックし、削除を選択し、プロジェクトから削除することができます。

これを手動で、つまり一度に 1 つの参照を行う必要がありますが、これで仕事は完了します。 何らかの方法でこれを自動化した人がいれば、それがどのように行われたかを聞きたいと思います。

.Net Framework のものは通常ビルド出力にコピーされないので、ほとんど無視できます (通常 - Silverlight アプリの場合は必ずしもそうではありませんが)。

いくつかの投稿は、次の質問に答えているようです: "ファイル内の参照を解決するために必要でないソース コード ファイルから using 節 (C#) を削除するにはどうすればよいですか?

この場合、ReSharper はいくつかの点で役に立ちます。

  1. オンザフライでのエラー検出の際に、未使用の using 節を識別します。 これらはコード検査警告として表示されます - コードがファイル内でグレー表示され(デフォルト)、ReSharperはそれを削除するヒントを提供します。

    http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection

  2. コード クリーンアップ プロセスの一部として自動的に削除することを可能にします。

    http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives

最後に、ReSharperは静的なコード解析を行うことを理解してください。 そのため、アセンブリへの動的な参照(たとえばリフレクションや、実行時に動的にロードされ、インターフェイスを介してアクセスされるアセンブリ)がある場合、それは検出されません。 プロジェクトに取り組みながら、コードベースとプロジェクトの依存関係を理解することに代わるものはありません。 私はReSharperの機能がとても便利だと感じています。