我有一个用 C++ 编写的库,以及一个用 C# 编写的库的包装器。
这两个项目都在开发中,现在我必须在每次构建后手动将 .dll 从 C++ 项目复制到 C# 项目。
所以我想知道是否有任何方法可以让 Visual Studio 在重新构建时自动从 C++ 项目中复制 .dll?
我有一个用 C++ 编写的库,以及一个用 C# 编写的库的包装器。
这两个项目都在开发中,现在我必须在每次构建后手动将 .dll 从 C++ 项目复制到 C# 项目。
所以我想知道是否有任何方法可以让 Visual Studio 在重新构建时自动从 C++ 项目中复制 .dll?
您可以在visual studio中使用Build events并放置dos命令将dll复制到当前项目
在 Visual Studio 的解决方案资源管理器中右键单击项目,选择属性。在 Build events 中,您可以键入:
copy c:\Cplusproject\yourproject.dll $(TargetDir)
您可以根据您的要求使用 Post Build 或 Pre Build 事件
见这篇文章: http: //geekswithblogs.net/dchestnutt/archive/2006/05/30/80113.aspx
有几种方法可以实现您的要求。
这里我假设您使用的是 Microsoft Visual C++,但在其他平台上也会有类似的功能。
请记住,您必须为项目支持的每个配置和每个平台执行此操作。
或者,您可以要求链接器直接在您的 C# 项目引用的位置上输出:
也就是说,您也可以从 c# 项目中获取 dll。
为此使用构建后事件。就像xcopy <yourDllFilePath> <destinationPath>
它会将你的dll文件复制到你想要的任何地方
如果您使用该 c++ dll 作为参考,那么您可以将 c++ 项目添加为项目参考,并且所有内容都将自动复制,并且在调试时也有帮助。
单击 yr c# 项目中的引用,然后打开一个对话框窗口并选择 Projects 并选择 yr c++ 项目