17

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

4

5 に答える 5

20

ソース管理:

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 プロジェクトのプロジェクト ファイルを使用しないため、これがその特定の機能の代わりになります。

于 2008-10-02T13:21:04.107 に答える
13

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

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

于 2008-10-02T13:20:22.017 に答える
11

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

更新ファイルについてはわかりません。

于 2008-10-02T13:16:52.057 に答える
3

foo.pdb は foo.dll のデバッガー シンボル ファイルです。それが必要になるか、そのコードにブレークポイントを設定できなくなります。

于 2008-10-02T13:14:52.420 に答える
2

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

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

于 2008-10-02T13:18:40.773 に答える