ASP.Net プロジェクトへの参照として DLL を追加すると、VS2008 はいくつかのファイルを bin ディレクトリに追加します。DLL が foo.dll と呼ばれる場合、VS2008 は foo.dll.refresh、foo.pdb、および foo.xml を追加します。私は foo.dll が何であるかを知っています:-)、なぜVS2008は他の3つのファイルを追加するのですか? これらの 3 つのファイルは何をしますか? それらを削除できますか? ソース管理に追加する必要がありますか?
5 に答える
ソース管理:
Ben Straub はこの投稿へのコメントで次のように述べてい.dll.refresh
ます。.xml
.pdb
.dll
John Rudy はいつ.refresh
ファイルを追加するべきかを説明しました:
なぜこれが良いことなのですか(時々)?あなたがチーム環境にいるとしましょう。だれかが foo.dll のコードをチェックインすると、ビルド システムが新しい DLL をビルドし、それをサーバー上のファイル共有に出力します。更新ファイルは、DLL のそのサーバー コピーを指します。次にビルドするとき、VS はその DLL の最新かつ最高のコピーを自動的に取得します。
David Mohundroのような.xmlは言った:
xml ファイルは、XML コメントとインテリセンス用にあります。Visual Studio はそれを解析し、それらの DLL でメソッドを呼び出したときに追加された XML コメントを表示します。
David Mohundroのような.pdbは次のように述べています。
pdb は、デバッグとシンボル用に存在します。そこから例外がスローされた場合は、スタック トレースなどを取得できます。PDB を構築するかどうかを選択できます。
.refresh ファイルに関するブログ投稿からの .refresh:
同じ基本名を持つ dll の更新されたバージョンを探す場所を VS に伝えます。これらはテキスト ファイルです。開くと、使用されているパスを確認できます。
その目的は、新しいバージョンを自分でコピーする必要がないようにすることです。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 によって再作成されます。