プロジェクトで未使用の参照を見つけて削除するにはどうすればよいですか?
vs 2008ではusingステートメントを簡単に削除できますが、プロジェクトの実際の参照は削除されません。参照されたdllは引き続きbin / setupパッケージにコピーされます。
プロジェクトで未使用の参照を見つけて削除するにはどうすればよいですか?
vs 2008ではusingステートメントを簡単に削除できますが、プロジェクトの実際の参照は削除されません。参照されたdllは引き続きbin / setupパッケージにコピーされます。
回答:
*注:この回答の別のバージョンについては、http://www.jetbrains.net/devnet/message/5244658を参照してください。
投稿を読んでみると、元の質問に関していくつかの混乱があるようです。それを刺してみましょう。
元の投稿は本当に質問をしています:「あるVisual Studioプロジェクトから、使用されていない他のプロジェクト/アセンブリへの参照を特定して削除するにはどうすればよいですか?」投稿者は、アセンブリがビルド出力の一部として表示されないようにしたいと考えています。
この場合、ReSharperはそれらを識別するのに役立ちますが、自分で削除する必要があります。
これを行うには、ソリューションブラウザの参照を開き、参照されている各アセンブリを右クリックして、[依存コードを検索]を選択します。見る:
http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code
次のいずれかを取得します。
ブラウザウィンドウでのその参照への依存関係のリスト、または
「モジュールXXXXXXXに依存するコードが見つかりませんでした」というダイアログ。
2番目の結果が得られたら、参照を右クリックして[削除]を選択し、プロジェクトから削除できます。
これを「手動で」、つまり一度に1つの参照で行う必要がありますが、作業は完了します。誰かがこれを何らかの方法で自動化した場合、それがどのように行われたかを聞くことに興味があります。
.Net Frameworkのものは、通常はビルド出力にコピーされないため、ほとんど無視できます(通常、Silverlightアプリには必ずしも当てはまりませんが)。
一部の投稿は、「ファイル内の参照を解決するために必要ではないソースコードファイルからusing句(C#)を削除するにはどうすればよいですか」という質問に答えているようです。
この場合、ReSharperはいくつかの方法で役立ちます。
オンザフライのエラー検出中に未使用のusing句を識別します。それらはコードインスペクション警告として表示されます-コードはファイル内で灰色で表示され(デフォルト)、ReSharperはそれを削除するためのヒントを提供します。
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
コードのクリーンアッププロセスの一環として、これらを自動的に削除できます。
最後に、ReSharperがソリューションで静的コード分析を行うことを理解してください。したがって、アセンブリへの動的参照がある場合(リフレクションや、実行時に動的に読み込まれ、インターフェイスを介してアクセスされるアセンブリなど)は、ピックアップされません。 プロジェクトで作業するときに、コードベースとプロジェクトの依存関係を理解するための代替手段はありません。ReSharperの機能は非常に便利だと思います。
私が書いた「Remove Unused References」拡張を使用できます:
http://visualstudiogallery.msdn.microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097
未使用の参照の削除は、Visual Studio 2008がすでにサポートしている機能です。残念ながら、VB .NETプロジェクトのみです。
この機能をC#プロジェクトでも利用できるようにするために、Microsoft Connectに関する提案を開きました。
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326
この機能も気に入ったら、私の提案に投票してください。
これを試してください:リファレンスアシスタント
概要
リファレンスアシスタントは、Visual Studio 2010のC#、F#、VB.NET、またはVC ++ / CLIプロジェクトから未使用のリファレンスを削除するのに役立ちます。
私はこれをVS 2010 Ultimate Architecture-> Generate Dependency Graph-> By Assemblyで拡張なしで実行しました。使用されたアセンブリが表示され、未使用の参照が手動で削除されました。
Visual StudioのすべてのバージョンとFrameworkのすべてのバージョンで機能する無料の回答があります。未使用の参照は削除されませんが、それらを識別します。
プロジェクトdllでTelerik JustDecompileを使用できます。JustDecompileでDLLを開き、References
コンパイルされたDLLで実際に使用されているものを確認します。
VisualStudio(またはmsbuild?)が未使用の参照を検出し、それらを出力ファイルに含めない場合、csprojからの参照を解析し、それを、プロジェクトの出力。
やる気があるなら...