我有一个.NET DLL(DLLA),它由app1引用(复制本地)。因此,当我构建app1时,DLLA被放置在app1的BIN文件夹中。 DLLA引用了很难使用的DLLB。
我注意到DLLB被放置在app1的BIN文件夹中,但这不再发生了。我有理由不理解这个吗? app1如何决定是否将DLLB放入其BIN文件夹?
答案 0 :(得分:4)
编译应用程序时,编译器会查找引用的引用和用法。如果您没有使用任何类,静态方法或引用中的任何其他内容,则不需要它,因此不会包含它。例如,如果您有项目A,B和C.如果C引用A和A引用B,除非您完全使用B,否则不会得到B.dll
:
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());
}
}
}