3

app1 (ローカルにコピー) によって参照される .NET DLL (DLLA) があります。したがって、app1 をビルドすると、DLLA は app1 の BIN フォルダーに配置されます。DLLA は、ほとんど使用されていない DLLB を参照します。

DLLB が app1 の BIN フォルダーに配置されていることに気付きましたが、これはもう発生しません。私が理解していない理由はありますか?app1 は、DLLB を BIN フォルダーに入れるかどうかをどのように決定しますか?

4

1 に答える 1

4

アプリケーションをコンパイルすると、コンパイラは参照と参照の使用法を探します。参照からのクラス、静的メソッド、またはその他のものを使用していない場合、それは必要ないため、含まれません。たとえば、プロジェクト A、B、および C があるとします。C が A を参照し、A が B を参照しているB.dll場合、B をまったく使用しない限り、a は取得されません。

using B;
namespace A
{
    public class Class1
    {

    }
}

前のコードでは、bin フォルダーに dll が含まれません。ただし、次のようになります。

using B;
namespace A
{
    public class Class1
    {
        void c()
        {
            B.Class1 b = new B.Class1();
            Console.Write(b.ToString());
        }
    }
}
于 2013-08-27T21:48:05.443 に答える