小编Joh*_*ski的帖子

在C#应用程序中使用MSBuild构建C++解决方案

我目前正在尝试使用Microsoft.Build.Execution.BuildManagerC#winForms应用程序中的C++解决方案.

从其他帖子我得到了以下代码,它使用了一个Logger,所以我可以看到一些输出.该BuildSubmission.BuildResult.OverallResult是试图建立一个C++应用程序时,总是失败.

string projectFileName = "mySolution.sln";
ProjectCollection pc = new ProjectCollection();
Dictionary<string, string> GlobalProperty = new Dictionary<string, string>();
GlobalProperty.Add("Configuration", "Release");
GlobalProperty.Add("Platform", "Win32");

BuildParameters bp = new BuildParameters(pc);
bp.Loggers = new[] {
                      new ConsoleLogger
                      {
                        Verbosity = LoggerVerbosity.Minimal,
                        ShowSummary = true,
                        SkipProjectStartedText = true
                      }
                    };

BuildManager.DefaultBuildManager.BeginBuild(bp);
BuildRequestData BuildRequest = new BuildRequestData(projectFileName, GlobalProperty, null, new string[] { "Clean" }, null);

BuildSubmission BuildSubmission = BuildManager.DefaultBuildManager.PendBuildRequest(BuildRequest);
BuildSubmission.Execute();
BuildManager.DefaultBuildManager.EndBuild();

if (BuildSubmission.BuildResult.OverallResult == BuildResultCode.Failure)
{
    throw new Exception();
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我得到以下输出:

C:\ …

.net c# msbuild visual-studio-2015

7
推荐指数
0
解决办法
851
查看次数

标签 统计

.net ×1

c# ×1

msbuild ×1

visual-studio-2015 ×1