我希望使用另一个C#项目构建asp.net core项目。以下是示例代码。(我使用的是Visual Studio 2015)
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();
它给了我很多错误。以下是其中之一。
“GetTransitiveNonDotNetProjectDependencies”任务无法从程序集C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Tasks.dll中加载。程序集“Microsoft.DotNet.Tasks,Version=14.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”的类型“Microsoft.DotNet.Tasks.KProcess”中的方法“get_BuildEngine”没有实现。请确认声明正确,程序集及其所有依赖项可用,并且任务包含实现Microsoft.Build.Framework.ITask的公共类。完成在项目“WebApplication22.xproj”中构建目标“_GetDependencyFragmentFiles”-- 失败。
提示:如果我使用Visual Studio命令提示符并使用MSbuild,则正常工作。