質問

ASP.Netプロジェクトへの参照としてDLLを追加すると、VS2008はいくつかのファイルをbinディレクトリに追加します。 DLLがfoo.dllと呼ばれる場合、VS2008はfoo.dll.refresh、foo.pdbおよびfoo.xmlを追加します。 foo.dllとは何ですか:-)、VS2008が他の3つのファイルを追加するのはなぜですか?これらの3つのファイルは何をしますか?それらを削除できますか?ソース管理に追加する必要がありますか?

役に立ちましたか?

解決

ソース管理:

Ben Straubは、この投稿へのコメントで次のように述べています。必要であれば、 .dll.refresh ファイルをソース管理に追加し、 > .pdb およびもちろん .dll ファイルは追加しないでください。

John Rudyは、 .refresh ファイルをいつ追加するかを説明しました:

  

なぜこれが良いのですか(時々)?   あなたがチームにいるとしましょう   環境。誰かがコードをチェックインする   foo.dllおよびビルドシステム用   新しいDLLをビルドし、   サーバー上のファイル共有。あなたのリフレッシュ   ファイルは、そのサーバーのコピーを指します   DLL。次回ビルドするとき、VSは   自動的に最新のものを取得し、   そのDLLの最大のコピー。

.xml David Mohundroが言ったように:

  

xmlコメント用のxmlファイルがあります   とインテリセンス。 Visual Studioは   それを解析し、XMLを表示します   呼び出し時に追加されたコメント   それらのDLLのメソッド。

.pdb David Mohundroが言ったように:

  

pdbはデバッグ用にあり、   シンボル。例外が発生した場合   それから投げられて、あなたは得ることができるでしょう   スタックトレースなど。あなたが管理している   PDBが   

.refresh .refreshファイルに関するブログ投稿から:

  

VSに更新された場所を探すよう指示します   同じベースのdllのバージョン   名。テキストファイルです。開くことができます   それらを使用して、使用しているパスを確認します。

     

彼らの目的は   自分で新しいバージョンをコピーする必要があります。   VS2003では、プロジェクトファイルは   のソースの場所を含む   参照、ただしVS2005は   ASP.NETのプロジェクトファイルを使用する   プロジェクト、これは   その特定の機能。

他のヒント

更新ファイル(まだ誰もヒットしていないので!)は、DLLがどこから来たのかを説明しています。これは自動更新参照用です。フルビルドを行うときはいつでも、VSはそのパスを調べ、そのバージョンのDLLをコピーします。

なぜこれが良いのですか(時々)?あなたがチーム環境にいるとしましょう。誰かがfoo.dllのコードをチェックインすると、ビルドシステムが新しいDLLをビルドし、サーバー上のファイル共有に出力します。更新ファイルは、DLLのサーバーコピーを指します。次回ビルドすると、VSはそのDLLの最新かつ最高のコピーを自動的に取得します。

pdbは、デバッグおよびシンボル用にあります。例外がスローされると、スタックトレースなどを取得できるようになります。PDBを構築するかどうかを選択できます。 xmlファイルは、XMLコメントとインテリセンス用です。 Visual Studioはそれを解析し、これらのDLLでメソッドを呼び出すときに追加されたXMLコメントを表示します。

更新ファイルについて知りません。

foo.pdbは、foo.dllのデバッガシンボルファイルです。必要な場合は、そのコードにブレークポイントを設定できません。

  

VS2008はいくつかのファイルをbinディレクトリに追加します[...]ソース管理に追加する必要がありますか?

ソース管理にbinディレクトリに何も追加する必要はありません。プロジェクトを最初にチェックインするときの最初の1つは、binおよびobjディレクトリを無視することです。そのため、これらのファイルを削除できますが、Visual Studioはそれらを再作成します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top