我正在使用Visual C++ for Linux Development扩展程序使用Mono对C ++ / C#应用程序进行编码。
我有一个C ++主项目和C#程序集项目的解决方案。
如何将C#项目输出上传到C ++输出目录,这样我就可以调试而无需自己上传所有内容?
感谢。
答案 0 :(得分:0)
Linux扩展程序的CopySources MSBUILD任务复制项目中的所有以下项目:Content,ClInclude,ClCompile和None项目。您还可以对其进行更多自定义,甚至可以将自己的自定义项目添加到副本列表中。
所以你要做的就是将二进制文件作为项添加到项目中。
但要远程将其复制到输出目录,它必须位于本地的输出目录中。听起来这就是你正在尝试做的事情(C#DllImporting C / C ++代码)。
将C#项目的输出复制到Windows本地的C ++项目输出目录。输出目录看起来像这样:
C:\ Users \ iontodirel \ Documents \ visual studio 2015 \项目\ ConsoleApplication50 \ ConsoleApplication50 \ BIN \ 64 \调试
ConsoleApplication50是一个C ++ Linux控制台应用程序项目。这里的目标是使目录结构正确,这就是您为什么要复制它,而不是将其添加为链接。将其复制到输出目录后,从C ++的项目输出目录中将二进制文件添加为现有项目。您可以使用“添加 - 现有项”对话框,或直接在项目文件中执行此操作。执行此操作后,它将在项目文件中显示如下:
<None Include="bin\x64\Debug\ConsoleApplication1.exe" />
注意项目是如何相对于项目目录的,并且它在本地的输出目录中。
构建之后,ConsoleApplication1.exe将被复制到〜/ projects / ConsoleApplication50 / bin / x64 / Debug / ConsoleApplication1.exe。
目前存在一个限制,即您可以控制项目目录中的目录结构,但不能在外部。今天,你可以克服这个限制的方法是使用Remote Post-Build Event,它位于Property Pages中的Build Events下,你可以在远程系统上执行任意命令,其中一个命令可以复制文件从远程系统上的一个位置到远程系统上的另一个位置。