Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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添加依赖项? 我有一个Visual Studio(2015)项目,用C语言编写,依赖于一个外部的DLL(比如A.DLL),用C++编写。这又依赖于其他库(例如B.DLL,C.DLL),也用C++编写。这些反过来又依赖于一些boost库。我无法控制任何库,但它们必须用于完成项目_C#_Visual Studio_Dll_Visual Studio 2015 - Fatal编程技术网

C# 如何向导致错误的第三方dll添加依赖项? 我有一个Visual Studio(2015)项目,用C语言编写,依赖于一个外部的DLL(比如A.DLL),用C++编写。这又依赖于其他库(例如B.DLL,C.DLL),也用C++编写。这些反过来又依赖于一些boost库。我无法控制任何库,但它们必须用于完成项目

C# 如何向导致错误的第三方dll添加依赖项? 我有一个Visual Studio(2015)项目,用C语言编写,依赖于一个外部的DLL(比如A.DLL),用C++编写。这又依赖于其他库(例如B.DLL,C.DLL),也用C++编写。这些反过来又依赖于一些boost库。我无法控制任何库,但它们必须用于完成项目,c#,visual-studio,dll,visual-studio-2015,C#,Visual Studio,Dll,Visual Studio 2015,将库a.dll添加到visual studio项目是可以的。我可以添加它作为参考,这是有效的。但是,它不会运行,因为其他库不存在 当我尝试将b.dll和c.dll添加到我的项目时,我得到一个错误: 无法添加对“A.dll”的引用。请确保该文件可访问,并且是有效的程序集或COM组件 使用此答案()我尝试运行TlbImp,但出现以下错误: TlbImp:错误TI1002:输入文件“b.dll”不是有效的类型库 如果我手动将库复制到输出文件夹,或者通过将库添加到项目(而不是作为引用)来自动复制库,则所

将库a.dll添加到visual studio项目是可以的。我可以添加它作为参考,这是有效的。但是,它不会运行,因为其他库不存在

当我尝试将b.dll和c.dll添加到我的项目时,我得到一个错误:

无法添加对“A.dll”的引用。请确保该文件可访问,并且是有效的程序集或COM组件

使用此答案()我尝试运行TlbImp,但出现以下错误:

TlbImp:错误TI1002:输入文件“b.dll”不是有效的类型库

如果我手动将库复制到输出文件夹,或者通过将库添加到项目(而不是作为引用)来自动复制库,则所有库都会运行

然而,最终结果是项目需要依赖于库。这样就可以将它们加载到另一个第三方产品中


是否有一种手动执行此操作的方法—即告诉Visual Studio库a.dll依赖于其他库?

我认为您需要一个部署步骤。例如,“生成事件后”运行脚本,将所有需要的文件复制到输出文件夹。我可以将文件复制到输出文件夹-我可以将它们添加到项目中,并在属性上设置“如果较新,则复制”或“始终复制”。但是,为了在第三方应用程序上安装该项目,该项目本身需要一个对它们的引用。因此,只需写一篇关于如何部署库和依赖项的自述。SQLite do it,例如,():“二进制软件包旨在供开发人员使用,以便获得开发所需的汇编二进制文件,并通过XCOPY部署将其应用程序部署到客户机器上。”