Visual Studio构建事件宏 - 解决方案配置名称

时间:2011-01-07 04:09:44

标签: visual-studio visual-studio-2010

在我的Post-build事件中,我调用批处理文件并将其传递给当前的构建配置。

C:\Dev\Project\Build\build.bat /$(Configuration)

这会将项目配置名称传递给构建脚本。

无论如何都要传递当前的解决方案配置名称

3 个答案:

答案 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构建时,它将包含项目(而不是解决方案)配置。