2

我有一个用 C++ 编写的库,以及一个用 C# 编写的库的包装器。

这两个项目都在开发中,现在我必须在每次构建后手动将 .dll 从 C++ 项目复制到 C# 项目。

所以我想知道是否有任何方法可以让 Visual Studio 在重新构建时自动从 C++ 项目中复制 .dll?

4

4 回答 4

4

您可以在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

于 2012-06-27T08:52:37.817 回答
0

有几种方法可以实现您的要求。

这里我假设您使用的是 Microsoft Visual C++,但在其他平台上也会有类似的功能。

  • 右键单击解决方案资源管理器中代表 vc++ 项目的图标
  • 单击属性
  • 选择 Configuration Properties/Build Events/Post Build Event 节点
  • 编写复制 dll 所需的命令行

请记住,您必须为项目支持的每个配置和每个平台执行此操作。

或者,您可以要求链接器直接在您的 C# 项目引用的位置上输出:

  • 右键单击解决方案资源管理器中代表 vc++ 项目的图标
  • 单击属性
  • 选择配置属性/链接器/常规事件节点
  • 将输出文件属性设置为 C# 项目引用的位置

也就是说,您也可以从 c# 项目中获取 dll。

于 2012-06-27T09:08:19.793 回答
0

为此使用构建后事件。就像xcopy <yourDllFilePath> <destinationPath>它会将你的dll文件复制到你想要的任何地方

于 2012-06-27T08:57:14.180 回答
0

如果您使用该 c++ dll 作为参考,那么您可以将 c++ 项目添加为项目参考,并且所有内容都将自动复制,并且在调试时也有帮助。

单击 yr c# 项目中的引用,然后打开一个对话框窗口并选择 Projects 并选择 yr c++ 项目

于 2012-06-27T09:01:52.590 回答