在我的Post-build事件中,我调用批处理文件并将其传递给当前的构建配置。
C:\Dev\Project\Build\build.bat /$(Configuration)
这会将项目配置名称传递给构建脚本。
无论如何都要传递当前的解决方案配置名称?
答案 0 :(得分:1)
不直接。在属性字段上使用“编辑/宏”时,列出的唯一配置名称是您已有的项目名称。
但是,您可以定义自己的宏。对于每个解决方案配置,创建一个新的属性表,使用“用户宏”选项卡定义名称为“SolutionConfiguration”的宏,其值为配置的名称,然后将此属性表添加到每个的相应项目配置中项目在解决方案中。
如果有更好的方式我会喜欢学习它。
答案 1 :(得分:0)
我为此创建了一个VS2010扩展程序,它允许您使用$(SolutionConfiguration)
和$(SolutionPlaform)
。 $(BuildMacro)
构建宏。您可以从here下载源代码并自行构建。
显示一些代码,只是注册UpdateSolution_Begin
方法
IVsUpdateSolutionEvents
VS并在那里设置一些Environment.SetEnvironmentVariable()
。
_IVsSolutionBuildManager = (IVsSolutionBuildManager)GetService<SVsSolutionBuildManager>();
_UpdateSolutionEvents = new UpdateSolutionEvents(); // IVsUpdateSolutionEvents
int hr;
uint pdwCookie;
hr = _IVsSolutionBuildManager.AdviseUpdateSolutionEvents(_UpdateSolutionEvents, out pdwCookie);
答案 2 :(得分:0)
在解决方案文件处理过程中,Msbulid创建了属性 SolutionConfigurationContents ,其中包含解决方案配置。从VS构建时,它将包含项目(而不是解决方案)配置。