我一直在尝试使用MSbuild API构建解决方案,因为几周以来没有成功。我能够通过在我的程序中运行一个执行MSBUild.exe的批处理文件来构建解决方案,但我注意到这不是一个非常好的方法。我google了一下,实现了以下代码:
using Microsoft.Build.Execution;
public static String BuildProject(String projectPath)
{
try
{
var props = new Dictionary<string, string>();
props["Configuration"] = "Debug";
props["VisualStudioVersion"] = "12.0";
var request = new BuildRequestData(projectPath, props, null, new string[] { "Build" }, null);
var parms = new BuildParameters();
var result = BuildManager.DefaultBuildManager.Build(parms, request);
return result.OverallResult.ToString();
}
catch(Exception ex)
{
return ex.ToString();
}
}
当我运行程序时,会创建一个带有调试文件夹的bin文件夹,但什么也没发生。使用批处理文件需要大约2-5分钟来构建项目。有什么我想念的吗?