3

我有一个 .NET DLL (DLLA),它被 app1 引用(复制本地)。因此,当我构建 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 回答