.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应用程序的解决方案: