2012-04-04 15 views
2

Visual Studio 2010を使用してTFSからソリューションを開いたばかりです。このソリューションには100以上のプロジェクトが含まれています(それまでは5未満でした) (Unity dllに)参照を見逃してしまいます。VS2010のC#ソリューションで見つからない参照を見つける簡単な方法

これらの参照の修正を簡略化する方法はありますか?今私はそれらをすべて手動で削除し、再追加す​​る必要があります。面倒。

何か提案がありがとうございます。

+1

スタンドアロンVSを使用すると、簡単な方法はないと思います。参照先のdllを共通の場所に配置し、各.csproj(または.vbproj)ファイルを処理してXML内の参照を変更する簡単なスクリプトを書くことができますが、そのようなスクリプトを作成する頃には、手動作業を完了できた可能性があります。 – Chris

+0

参照がない理由を理解する必要があります。 –

+0

さて、ラムハウンド、彼らはどこにそれらを見つけるか分からないため、彼らは "行方不明"です。だから、ワンクリックでこれらのプロジェクトをすべて簡単に更新できることが大好きです。 – bendahmon

答えて

1

resharperをチェックアウトしたい場合は、参考に必要なものがある可能性があります。クラス内の参照を最適化して識別するのに役立ちますが、プロジェクトレベルではわかりません。 Resharperは30日間の試用を持っています

+0

私はそれを試して、それが私を助けることができるかどうかを見ます。これまでのところ運がない。 – bendahmon

+0

bemdahmon:私はこのスレッドに着いて、それを探していました。だから私はこれがまだ存在しないと仮定します:) –

0

これらのバイナリをすべてBinariesフォルダに追加し、TFSに追加することができます。

バイナリをソリューションアイテムの既存のアイテムとして追加すると、ソリューションを開くとすべてのソリューションアイテムもフェッチされます。

参照がバイナリフォルダから追加されていることを確認してください。

+0

私はすべてのバイナリを持っています、それはちょうど私がTFSからプロジェクトを得たときに参照パスが間違っていたことです。 – bendahmon

0

参照アセンブリの場所が変更されている場合、壊れた参照を正しいものに置き換えるには、.csprojファイルのファイルで検索と置換を行うのが比較的簡単です。

2

問題を解決するには、ファイルのロード先を調べる必要があります。プロジェクトのcsprojファイルを調べることができます。より新しい(または異なる)バージョンのアセンブリがインストールされているか、または異なるファイルとフォルダ構造を持っています。そのプロジェクトで使用されていたファイルおよびフォルダ構造を再作成するか、csprojファイルを新しい場所に書き直す必要があります。

将来的には、第三者参照の処理方法を変更したい場合があります。私はこのアプローチを使用して良い経験を持っています:ThirdPartyLibrariesフォルダを定義してください。これらのライブラリはすべて、ソリューションフォルダにあります。誰もが今から第三者のライブラリをそこに置いて、代わりにそれらを使う必要があります。

+0

これはまさに私たちがやっていることですが、私はこの場合(これはソリューションが設定されるたびに起こります)、誰かがリファレンスを更新するのを忘れていたと思います。それをチェックする人のためではありません。使用されていた古いリファレンスが私のツリーに見つからないからです。ただし、ここでの問題は、ソリューション内の複数のプロジェクトの参照を検索する方法を簡略化することです。 – bendahmon

関連する問題