C# 如何以编程方式使用MSBuild构建DotNet核心项目
我想构建一个.NETCore3.1解决方案,它有一个带有Businesslayer的API项目,还有两个来自C#代码的层。我正在使用BuildManager构建解决方案C# 如何以编程方式使用MSBuild构建DotNet核心项目,c#,.net-core,build,msbuild,C#,.net Core,Build,Msbuild,我想构建一个.NETCore3.1解决方案,它有一个带有Businesslayer的API项目,还有两个来自C#代码的层。我正在使用BuildManager构建解决方案 string projectFileName = @"D:\SampleUserApplication\SampleUserApplication.sln"; ProjectCollection pc = new ProjectCollection(); Dic
string projectFileName = @"D:\SampleUserApplication\SampleUserApplication.sln";
ProjectCollection pc = new ProjectCollection();
Dictionary<string, string> GlobalProperty = new Dictionary<string, string>();
GlobalProperty.Add("Configuration", "Release");
GlobalProperty.Add("Platform", "Any CPU");
GlobalProperty.Add("OutputPath", solution_name);
//GlobalProperty.Add("MSBuildExtensionsPath", msbuildRoot);
BuildParameters bp = new BuildParameters(pc);
bp.Loggers = new[] {
new FileLogger
{
Verbosity = LoggerVerbosity.Detailed,
ShowSummary = true,
SkipProjectStartedText = true
}
};
BuildManager.DefaultBuildManager.BeginBuild(bp);
BuildRequestData BuildRequest = new BuildRequestData(projectFileName, GlobalProperty, null, new string[] { "Build" }, null);
BuildSubmission BuildSubmission = BuildManager.DefaultBuildManager.PendBuildRequest(BuildRequest);
BuildSubmission.Execute();
BuildManager.DefaultBuildManager.EndBuild();
if (BuildSubmission.BuildResult.OverallResult == BuildResultCode.Failure)
{
//throw new Exception();
}
最后
GlobalProperty.Add("MSBuildExtensionsPath", msbuildRoot);
但一切都没有结果。在长时间的谷歌搜索之后,我也没有找到任何解决办法。我希望有人能解决这个问题。为什么dotnet core cli还不够?
GlobalProperty.Add("MSBuildExtensionsPath", msbuildRoot);