以解决方案配置以编程方式构建解决方案

时间:2014-03-12 11:05:44

标签: c# visual-studio-2012 build-process projects-and-solutions

我有一个构建大型解决方案(100多个项目)的功能

public static bool BuildSolution()
{
    bool result = false;
    try
    {
        string solutionPath = @"C:\path\to\my\solution.sln";

        ProjectCollection pc = new ProjectCollection();

        Dictionary<string, string> GlobalProperty = new Dictionary<string, string>();
        GlobalProperty.Add("Configuration", "Debug");
        GlobalProperty.Add("Platform", "Any CPU");
        GlobalProperty.Add("OutputPath", @"bin\Debug\");

        BuildParameters bp = new BuildParameters(pc);
        BuildRequestData BuidlRequest = new BuildRequestData(solutionPath, GlobalProperty, "4.0", new string[] { "Build" },null);
        BuildResult buildResult = BuildManager.DefaultBuildManager.Build(bp, BuidlRequest);

        if (buildResult.OverallResult == BuildResultCode.Success)
        {
            result = true;
        }
    }
    catch (Exception e)
    {
        Console.WriteLine("Build Failed: " + e.ToString());
    }
    return result;          
}

有没有办法在visual studio中使用解决方案配置集来阻止某些项目的构建?

solution configuration

在此表单上进行的更改不会影响.sln文件,因此我的函数会继续构建所有内容

1 个答案:

答案 0 :(得分:0)

您可以使用配置管理器创建新的解决方案配置。在这个新配置中,您只能选择需要构建的项目。

使用此配置构建时,您可以将程序更改为

GlobalProperty.Add("Configuration", "NewConfigurationName");

New configuration using Configuration manager 希望这就是你要找的东西!!!