.net 使用Cake Build引用NETStandard项目的Build NET Framework项目

.net 使用Cake Build引用NETStandard项目的Build NET Framework项目,.net,msbuild,.net-standard,cakebuild,.net,Msbuild,.net Standard,Cakebuild,我有两个项目:StdLib它是netstandard2.0类库和Console.Framework它是.netframework4.6.1项目。 控制台应用程序引用类库 我尝试使用。 我使用dotnebuild方法()得到以下输出: 在此解决方案中一次构建一个项目。要启用并行生成,请添加“/m”开关。 建造开始于2017年9月12日下午2:35:55。 节点1(生成目标)上的项目“C:\Projects\NetStdExample\NetStdExample.sln”。 验证解决方案配置: 构建

我有两个项目:
StdLib
它是
netstandard2.0
类库和
Console.Framework
它是
.netframework4.6.1
项目。 控制台应用程序引用类库

我尝试使用。 我使用
dotnebuild
方法()得到以下输出:

在此解决方案中一次构建一个项目。要启用并行生成,请添加“/m”开关。
建造开始于2017年9月12日下午2:35:55。
节点1(生成目标)上的项目“C:\Projects\NetStdExample\NetStdExample.sln”。
验证解决方案配置:
构建解决方案配置“调试|任何CPU”。
项目“C:\Projects\NetStdExample\NetStdExample.sln”(1)正在节点1(默认目标)上生成“C:\Projects\NetStdExample\NetStdExample.StdLib\NetStdExample.csproj”(2)。
C:\Projects\NetStdExample\NetStdExample.StdLib\NetStdExample.StdLib.csproj(1,1):错误MSB4041:项目的默认XML命名空间必须是MSBuild XML命名空间。如果项目是在
MSBuild 2003格式,请添加xmlns=”http://schemas.microsoft.com/developer/msbuild/2003“到元素。如果项目是以旧的1.0或1.2格式编写的,请将其转换为MS
构建2003格式。
已完成生成项目“C:\Projects\NetStdExample\NetStdExample.StdLib\NetStdExample.StdLib.csproj”(默认目标)——失败。


有没有一种方法可以使用
Cake
来构建此类项目?

dotnebuild的别名是一个较旧的别名,它可以在知情的情况下决定是否构建:

使用MSBuild或XBuild的指定解决方案

i、 e.它将查看构建当前运行的机器类型,并运行
MSBuild
XBuild

从你的问题听起来,这听起来不像你想要的。相反,我认为您在寻找DotNetCore别名:

i、 e.你可以做如下事情:

DotNetCoreBuild(BuildParameters.SolutionFilePath.FullPath);
使用
dotnet
cli生成指定的解决方案


dotnebuild
别名可能会在某个时候被废弃。

这有助于示例控制台应用程序。当我尝试使用
DotNetCoreBuild
构建ASP.NET项目时,我得到:
IntegrationProxy.csproj(303,3):错误MSB4019:找不到导入的项目“C:\Program Files\dotnet\sdk\2.0.2-vspre-006949\Microsoft\VisualStu dio\v10.0\WebApplications\Microsoft.WebApplication.targets”。确认声明中的路径正确,并且文件存在于磁盘上。
您知道如何解决此类问题吗?如果您使用诊断详细信息运行Cake,如下所示:它将向您显示正在执行的确切dotnet cli命令。如果您可以使用相同的命令并在命令行中手动运行它,这将允许我们查看问题是与Cake有关,还是与您的环境中的其他内容有关。问题似乎不是与
Cake
有关,而是与项目引用有关
dotnet build
无法生成常规的.net framework项目。但是VisualStudio设法以某种方式构建了。我对如何使用
Cake
重新创建VS行为感兴趣。我会进一步调查。非常感谢。检查web应用程序的解决方案: