Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何链接.dll依赖项_C#_.net_Visual Studio_Dll - Fatal编程技术网

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通常只会这样做,如果它不尝试检查引用的属性,查看是否没有任何更改,例如“复制本地”,或者尝试重新添加引用