所以,我想这样做(Visual Studio 2005和/或2010,与Microsoft和Intel编译器一起)
1 - 新的dev检出代码
2 - dev使用“默认”值
在未知位置的桌面上构建无需环境设置,无需配置,提交的代码“正常”。
3 - 构建机器使用特定于构建的参数覆盖“默认”值
我以为我使用.vsprops。定义像
这样的东西< UserMacro Name =“SHARED_LIBS_HOME”Value =“.... \ shared”/>
在构建服务器上,它不在.... \ shared中,我使用设置为(例如)“G:\ Shared”的环境变量SHARED_LIBS_HOME,它将使用G:\ Shared而不是“... 。\ shared“在运行时。
但是这不起作用:它看起来像(至少使用Visual Studio 2005)如果你将一个属性定义为环境变量并且作为包含的.vsprops中的UserMacro,则UserMacro优先。
我可以看到许多网站,其中可以设置.vsprops来覆盖.vcproj设置,或设置.vsprops将值导出到环境中,但我想设置.vsprops只设置属性环境尚未确定。
在MSBUILD中,这很容易:微软甚至将它列为http://msdn.microsoft.com/en-us/library/ee240983.aspx
的“最佳实践”有什么建议吗?