我有一个 .NET DLL (DLLA),它被 app1 引用(复制本地)。因此,当我构建 app1 时,DLLA 被放置在 app1 的 BIN 文件夹中。DLLA 引用了几乎从未使用过的 DLLB。
我曾经注意到 DLLB 被放置在 app1 的 BIN 文件夹中,但这不再发生。有没有我不明白的原因?app1 如何决定是否将 DLLB 放入其 BIN 文件夹?
当您编译应用程序时,编译器会查找引用和引用的使用情况。如果您没有使用任何类、静态方法或引用中的任何其他内容,则不需要它,因此不会包含它。例如,如果您有项目 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());
}
}
}