我在一个解决方案中有 2 个 c++ 项目。
ExecB(一个可执行文件)依赖于ProjA(一个 dll)。
所以在ExecB的属性中,我添加ProjA作为参考,然后选择Copy Local = true。
问题是,ProjA 的 dll 没有被复制到 ExecB 的输出文件夹文件夹中。所以可执行文件显然没有运行。
有什么建议么 ?
我在一个解决方案中有 2 个 c++ 项目。
ExecB(一个可执行文件)依赖于ProjA(一个 dll)。
所以在ExecB的属性中,我添加ProjA作为参考,然后选择Copy Local = true。
问题是,ProjA 的 dll 没有被复制到 ExecB 的输出文件夹文件夹中。所以可执行文件显然没有运行。
有什么建议么 ?
对于 C++ 项目,Visual Studio 模板/向导将输出目录设置为解决方案的子文件夹:$(SolutionDir)$(Configuration)\
. 这样DLL 搜索路径就非常适合开发人员。如果您从解决方案文件夹层次结构之外将项目添加到解决方案,它甚至可以工作;该构建会将所有二进制文件放入该解决方案的输出文件夹中。
如果这不起作用,请检查所有项目的所有平台/配置组合上的输出目录属性。还要确保构建配置管理器显示您选择的解决方案构建正在构建适合解决方案平台/配置的所有项目。
您尝试的项目引用中的复制本地仅适用于引用的 .NET 程序集。这些文档模棱两可而且过于简洁。(“程序集”的最常见用法是指 .NET 程序集而不是 WinSxS 程序集。)