0

Visual Studio 2010 には、Web サイト プロジェクト、クラス ライブラリ プロジェクト、およびコンソール アプリがあります。

クラス ライブラリ プロジェクトは YouTube と通信し、dll の Google.GData.Client、Google.GData.Extensions、Google.GData.YouTube などを参照します。

コンソール アプリからこのプロジェクトへの参照を追加すると、クラス ライブラリ dll が追加されるだけです。

しかし、Web サイトからクラス ライブラリ プロジェクトへの参照を追加すると、すべての Google DLL が自動的に追加されます。

どうしてこれなの?コンソール アプリは、クラス ライブラリへの参照を追加するだけで期待どおりに動作しますが、Web サイトは、クラス ライブラリが依存しているすべての dll を Web サイトにも追加します。

ウェブサイトに基礎となるフレームワーク(youtube)の知識を持たせたくないので、本当にこれは望んでいません。たとえば、開発者が youtube ビデオ オブジェクトを作成できるようにしたくありません。このためのラッパー クラスがあるので、基になるビデオ リポジトリが変更されても、Web サイト全体を変更する必要はありません。

4

1 に答える 1

0

Web アプリケーションでクラス ライブラリを使用するには、直接的または間接的に依存するすべてのアセンブリが存在する必要があります。コンソール アプリケーションをビルドすると、実行可能ファイルと同じフォルダーに依存関係も含まれます。Google ライブラリを使用していることをすぐに明らかにしたくない場合は、それらをクラス ライブラリのアセンブリに埋め込む必要があります。

依存関係のトピックに関する別の SO の質問はこちらです。

于 2012-08-20T15:37:59.840 に答える