在C#.NET 4.0中,我正在创建一个我计划在许多其他项目中重用的类库/ DLL。该类库本身将使用多个DLL。例如,我正在创建的类库可能引用了几个DLL,如:
ServerConnectorLibrary references:
Lib1.dll
Lib2.dll
Lib3.dll
当我构建它时,我得到ServerConnectorLibrary.dll
作为bin \ Debug文件夹中的输出。
我现在想要的是在其他项目中使用此ServerConnectorLibrary.dll
。但是,当我将DLL添加到我的新项目并运行时,我收到以下错误:
FileNotFoundException: Could not load file or assembly "Lib1.dll".
如果我将Lib1.dll
添加到我的新项目的bin\Debug
文件夹中,问题就无法解决。
答案 0 :(得分:0)
您可以将所有依赖项合并到一个程序集中。这是CodeProject上的一个老例子。
http://www.codeproject.com/Articles/9364/Merging-NET-assemblies-using-ILMerge
这里还有一个StackOverflow线程......
How do I merge multiple .net assemblies into a single assembly?
否则,请确保将每个依赖项的属性设置为copy local,然后将依赖项与库一起包含在内。这些是DLL,因此它们在运行时动态链接,不像可能静态链接的旧C ++和C库。