在我的“后生成事件(Post-build event)”中,我调用一个批处理文件并传递当前的生成配置。
C:\Dev\Project\Build\build.bat /$(Configuration)
这将项目配置名称传递给构建脚本。
是否有任何方法可以传递当前的解决方案配置名称?
在我的“后生成事件(Post-build event)”中,我调用一个批处理文件并传递当前的生成配置。
C:\Dev\Project\Build\build.bat /$(Configuration)
这将项目配置名称传递给构建脚本。
是否有任何方法可以传递当前的解决方案配置名称?
$(SolutionConfiguration)
和$(SolutionPlaform)
。$(BuildMacro)
生成宏。您可以从这里下载源代码并自行构建。IVsUpdateSolutionEvents
VS的UpdateSolution_Begin
方法并在那里设置一些Environment.SetEnvironmentVariable()
。 _IVsSolutionBuildManager = (IVsSolutionBuildManager)GetService<SVsSolutionBuildManager>();
_UpdateSolutionEvents = new UpdateSolutionEvents(); // IVsUpdateSolutionEvents
int hr;
uint pdwCookie;
hr = _IVsSolutionBuildManager.AdviseUpdateSolutionEvents(_UpdateSolutionEvents, out pdwCookie);
不直接。当您在属性字段上使用“编辑/宏”时,列出的唯一配置名称是您已经拥有的项目的名称。
但是,您可以定义自己的宏。对于每个解决方案配置,请创建一个新的属性表,使用“用户宏”选项卡来定义一个名为“SolutionConfiguration”的宏,其值为配置的名称,然后将此属性表添加到解决方案中每个项目的适当项目配置中。
如果有更好的方法,我很乐意学习。
有一个属性SolutionConfigurationContents,它是由Msbuild在处理解决方案文件时创建的,其中包含解决方案配置。当从VS构建时,它将包含项目(而不是解决方案)配置。