1

現在、VB.NET Web サイトを VB.NET Web アプリケーションに移行しています。以前は、すべてのコンポーネント DLL (サードパーティ クラス ライブラリ) を bin フォルダーに格納し、実行時にコンパイルしていました。新しいアプリケーションに DLL への参照を手動で追加しましたが、bin フォルダーはこれらの追加の DLL を格納するのに理想的な場所ですか? これはベスト プラクティスと見なされますか? また、新しいビルドを作成するときに、アプリケーションによって生成される DLL に干渉しますか?

これが非常に基本的な質問である場合は申し訳ありませんが、私は Visual Studio の Web Apps の概念に慣れていません。

4

2 に答える 2

2

原則として、bin フォルダーに直接何かを入れることはありません。私は常に、ビルド プロセスで dll またはその他のファイルを bin フォルダーにコピーできるようにしています。

参照を追加し、"copy local" が true に設定されていることを確認すると、ビルド中に dll がコピーされます。これには、特にバージョン管理を使用する場合に多くの利点があります。

これらのファイルを配置する場所については、通常、ソリューション レベルでフォルダーを作成し、そこに dll を配置してから、その場所から参照として追加します。これにより、バージョン管理に簡単にチェックインできます (多くのバージョン管理システムと同様に、読み取り専用としてマークされます)。

ファイルを bin フォルダーのバージョン管理にチェックインすると、多くの問題が発生します。もう 1 つの問題は、bin フォルダーを「クリーン」にする必要がある場合です。そこにファイルがあると、問題が発生する可能性があります。私が説明した方法を使用すれば、bin フォルダー内のすべてのファイルをいつでも削除できます。

さらに優れた方法は、NuGet パッケージを使用することです。必要なファイルが既存の NuGet パッケージに含まれていない場合は、独自のファイルを作成して、独自のローカル NuGet サーバーを実行できます。

于 2013-02-17T11:10:39.153 に答える
1

いいえ、アプリケーションによって生成された dll に干渉することはありません。

これらが多くのアプリケーションで使用する dll である場合は、それらを GAC に登録することを検討してください。

それらをビンに入れると、簡単に展開できます (Web アプリ フォルダーをコピーするだけです)。GAC に dll をインストールするアクセス権がない共有ホスティング環境にいる場合は、これが唯一のオプションになる可能性があります。

于 2013-02-17T10:02:57.153 に答える