Visual studio 2015 是否可以从代码中使用MSBuild构建asp.net核心项目?

Visual studio 2015 是否可以从代码中使用MSBuild构建asp.net核心项目?,visual-studio-2015,msbuild,asp.net-core,Visual Studio 2015,Msbuild,Asp.net Core,我想使用另一个C#项目构建asp.net核心项目。下面是示例代码。(我正在使用Visual Studio 2015) 它给了我很多错误。以下是其中之一 无法启动“GetTransitiveNonDotNetProjectDependencies”任务 从程序集C:\程序文件加载 (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Tasks.dll。 “Microsoft.DotNet.Tasks.KProcess

我想使用另一个C#项目构建asp.net核心项目。下面是示例代码。(我正在使用Visual Studio 2015)

它给了我很多错误。以下是其中之一

无法启动“GetTransitiveNonDotNetProjectDependencies”任务 从程序集C:\程序文件加载 (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Tasks.dll。 “Microsoft.DotNet.Tasks.KProcess”类型中的方法“get_BuildEngine” 从程序集“Microsoft.DotNet.Tasks,版本=14.0.0.0, 区域性=中性,PublicKeyToken=b03f5f7f11d50a3a'没有 实施确认声明是正确的, 程序集及其所有依赖项都可用,并且 任务包含一个实现 Microsoft.Build.Framework.ITask。完成建设目标 项目“WebApplication22.xproj”中的“GetDependencyFragmentFiles”-- 失败了


注意:如果我使用的是Visual Studio命令提示符并使用MSbuild,那么它就可以正常工作。

暂时没有。从Visual Studio命令提示符运行msbuild以生成asp.net核心项目时,它将调用dotnet.exe进行生成

MS目前正致力于从.xproj/project.json迁移到.csproj/MSBuild,这是Visual Studio 15 RTM中最有可能提供的。有关详细信息,请参阅此链接:

这一变化的第一波将发生在VisualStudio“15”中 RTM:在VisualStudio中打开任何.NET核心项目时,它将 自动从.xproj转换为.csproj,将资产从 将project.json文件分为配置文件和.csproj文件。 我们还将提供一个使用.NET转换应用程序的工具 命令行工具


可能这个链接有用-我用你的代码做了一个测试,它重现了同样的错误。我建议您可以通过编程方式调用MSBuild命令来构建项目。另一方面,您可以参考此工具代码:
var projectCollection = new Microsoft.Build.Evaluation.ProjectCollection(Microsoft.Build.Evaluation.ToolsetDefinitionLocations.Registry);
projectCollection.DefaultToolsVersion = "14.0";
projectCollection.RegisterLogger(new Microsoft.Build.Logging.ConsoleLogger(Microsoft.Build.Framework.LoggerVerbosity.Detailed));
var project = projectCollection.LoadProject(@"H:\Development\WebApplication22\src\WebApplication22\WebApplication22.xproj");
bool b = project.Build();