在构建时自动将C ++库复制到C#项目? (Visual Studio 2010)

时间:2012-06-27 08:48:34

标签: c# c++ visual-studio-2010

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

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

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

4 个答案:

答案 0 :(得分:4)

您可以在visual studio中使用Build事件并放置dos命令将dll复制到当前项目

右键单击Visual Studio中Solution explorer中的项目,选择属性。在Build事件中,您可以输入:

copy c:\Cplusproject\yourproject.dll $(TargetDir)

您可以根据您的要求使用Post Build或Pre Build事件

请参阅此文章:http://geekswithblogs.net/dchestnutt/archive/2006/05/30/80113.aspx

答案 1 :(得分:0)

使用post build事件。就像xcopy <yourDllFilePath> <destinationPath>之类的东西,它会将你的dll文件复制到你想要的地方

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

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

  • 右键单击代表解决方案资源管理器上的vc ++项目的图标
  • 单击“属性”
  • 选择配置属性/构建事件/后构建事件节点
  • 编写复制dll所需的命令行

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

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

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

也就是说,你也可以从c#项目获得dll。