我安裝了NuGet包管理器中的如下因素裝配在Visual Studio 2017年如何用MsBuild v15構建C++項目?
Microsoft.Build;
Microsoft.Build.Framework.
Microsoft.Build.Utilities.Core
所有在版本15
我想建一個C++項目的MSBuild
public static void Build(string namePerozhe)
{
Logger l = new Logger();
ProjectCollection pc = new ProjectCollection();
pc.DefaultToolsVersion = "15.0";
pc.Loggers.Add(l);
Dictionary<string, string> GlobalProperty = new Dictionary<string, string>();
GlobalProperty.Add("Configuration", "Release");
GlobalProperty.Add("Platform", "Win32");
BuildRequestData buildRequest = new BuildRequestData(namePerozhe, GlobalProperty, null, new[] { "Build" }, null);
BuildParameters buildParameters = new BuildParameters(pc)
{
OnlyLogCriticalEvents = false,
DetailedSummary = true,
Loggers = new List<Microsoft.Build.Framework.ILogger> { l }.AsEnumerable()
};
var result = BuildManager.DefaultBuildManager.Build(buildParameters, buildRequest);
}
,但我得到以下錯誤:
「SetEnv」任務無法從程序集 C:\ Program Files \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ VC \ VCTargets \ Microsoft.Build.CppTasks.Common.dll。 無法加載文件或程序集'Microsoft.Build.Utilities.Core,Version = 15.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其某個依賴項。 系統找不到指定的文件。 確認聲明是正確的,程序集及其所有依賴項都可用, ,並且任務包含一個實現Microsoft.Build.Framework.ITask的公共類。
當我在Visual Studio中構建這個項目時,它將構建時沒有錯誤。但是當我想以編程方式構建它時,這個錯誤將會出現。
還有另一個問題,沒有任何答案可以幫助我。