我有一個.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