C# 如何链接.dll依赖项
假设我有三个项目和以下工件:C# 如何链接.dll依赖项,c#,.net,visual-studio,dll,C#,.net,Visual Studio,Dll,假设我有三个项目和以下工件: Program.exe: namespace Program { class Foo { public static void Main(string[] args) { ClassLibrary1.CL1Foo.doSomething(); } } } ClassLibrary1.dll: namespace ClassLibrary1 { class CL1Foo {
Program.exe
:
namespace Program {
class Foo {
public static void Main(string[] args) {
ClassLibrary1.CL1Foo.doSomething();
}
}
}
ClassLibrary1.dll
:
namespace ClassLibrary1 {
class CL1Foo {
static void doSomething() {
ClassLibrary2.CL2Foo.doSomething();
}
}
}
namespace ClassLibrary2 {
class CL1Foo {
static void doSomething() { }
}
}
ClassLibrary2.dll
:
namespace ClassLibrary1 {
class CL1Foo {
static void doSomething() {
ClassLibrary2.CL2Foo.doSomething();
}
}
}
namespace ClassLibrary2 {
class CL1Foo {
static void doSomething() { }
}
}
Program.exe
以ClassLibrary1
为参考,ClassLibrary1
以ClassLibrary2
为参考。但是,如果不同时复制其所有依赖项(即ClassLibrary2.dll
),则ClassLibrary1
引用将无法工作
您如何确保所有
ClassLibrary1
的依赖项都复制到Program.exe
的生成输出文件夹中,即使ClassLibrary1
的依赖项可能会更改?VisualStudio不处理吗?您有什么问题吗?@nvoigt它只会将ClassLibrary1.dll
输出到程序的生成输出。它不输出ClassLibrary2
。这是VS 2010你大概很快就发现了问题,不是吗?如果您使用NuGet进行包管理,请注意,它会处理所有这些问题。Visual studio通常只会这样做,如果它不尝试检查引用的属性,查看是否没有任何更改,例如“复制本地”,或者尝试重新添加引用