最近的项目需要用到C#,总体上C#上VS上的使用与C/C++差不多,但还是略有差别的,本文记录了一些配置上的技巧.
生成后事件
c/c++上,项目的基础路径是 ProjectDir,生成事件可以写成这个路径的相对路径,并且'\'或'/'都可以使用,如:copy "$(OutDir)\$(TargetName).exe" "../../../run/"
C#上不能用相对路径,需要用$(TargetDir),如
copy "$(TargetDir)$(TargetName).exe" "$(TargetDir)..\..\..\run\"
公共代码
在C/C++中有部分代码我们可以插取出来用于不同的项目,我们只需要在C++项目中的附加包含目录中添加公共代码的路径,并用代码实现添加到项目中,这样我们可以在项目中修改了相应的代码时,其它项目调用相关的代码也一起进行了改动,这样不需要手动一个个项目来修改
C#中不一样,你添加了项目外代码进入工程时,会自动把这个代码拷贝到工程中,这样对公共性质的代码需要手动一个个更改不同项目的.可以考虑用生成后事件来拷贝公共代码:
copy "$(ProjectDir)PublicCode\Util.cs" "$(ProjectDir)/../xxx/PublicCode/" /d/y
copy "$(ProjectDir)PublicCode\Util.cs" "$(ProjectDir)/../xxx/PublicCode/" /d/y