我有一个.NET DLL(DLLA),它是由app1(复制本地)引用的。因此,当我构建app1时,DLLA被放置在app1的BIN文件夹中。 DLLA引用DLLB,这是很少使用的。DLL引用DLL
我用来注意到DLLB被放置在app1的BIN文件夹中,但这不再发生。有没有理由让我不明白? app1如何决定是否将DLLB放入其BIN文件夹中?
我有一个.NET DLL(DLLA),它是由app1(复制本地)引用的。因此,当我构建app1时,DLLA被放置在app1的BIN文件夹中。 DLLA引用DLLB,这是很少使用的。DLL引用DLL
我用来注意到DLLB被放置在app1的BIN文件夹中,但这不再发生。有没有理由让我不明白? app1如何决定是否将DLLB放入其BIN文件夹中?
编译应用程序时,编译器会查找引用和引用的用法。如果您没有使用任何类,静态方法或引用中的其他内容,则不需要,因此不会包含它。举例来说,如果你有项目A,B和C.如果C参考A和A引用B,除非你使用B中的所有,你不会得到一个B.dll
:
using B;
namespace A
{
public class Class1
{
}
}
上面的代码将不包括一个dll在您的bin文件夹中。但是,以下内容将会:
using B;
namespace A
{
public class Class1
{
void c()
{
B.Class1 b = new B.Class1();
Console.Write(b.ToString());
}
}
}
DLLB是否可用?如果它不能在比DLLA更严格的条件下“找到”,它将不会被拾取。 (技术上完全不同)。这个问题的最简单的解决方案是引用DLLB,在这种情况下是否是一个选项? – Guvante