如何在使用C#6的项目上使用BuildManager

时间:2015-12-08 04:32:54

标签: c# msbuild c#-6.0

我在solutionPath处建立解决方案的代码如下:

var properties = new Dictionary<string, string>();
properties["Configuration"] = buildType;
properties["Platform"] = "x86";

var request = new BuildRequestData(solutionPath, properties, null, new string[] { "Build" }, null);
var result = BuildManager.DefaultBuildManager.Build(parameters, request);

它很棒,除非我的项目包含C#6.0功能,否则会出错。例如,以下内容:

throw new ArgumentException($"Could not find any registered events with the name {name}.");

给我以下内容:

  

错误意外字符'$'

我是否需要更改BuildManager或参数上的某些设置?我的应用程序正在进行构建,目标是.NET 4.6,由Visual Studio 2015构建。

1 个答案:

答案 0 :(得分:2)

看起来我的项目引用了相关.dll的旧版本:

  • Microsoft.Build
  • Microsoft.Build.Engine
  • Microsoft.Build.Framework

更多信息:

BuildManager to use another version of MSBuild