我有两个项目:StdLib
是NETStandard 2.0
类库,Console.Framework
是.NET Framework 4.6.1
项目。
控制台应用程序引用类库。
我尝试使用Cake build构建解决方案。
我使用DotNetBuild
方法(link),我得到了这个输出:
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 9/12/2017 2:35:55 PM.
Project "C:\Projects\NetStdExample\NetStdExample.sln" on node 1 (Build target(s)).
ValidateSolutionConfiguration:
Building solution configuration "Debug|Any CPU".
Project "C:\Projects\NetStdExample\NetStdExample.sln" (1) is building "C:\Projects\NetStdExample\NetStdExample.StdLib\NetStdExample.StdLib.csproj" (2) on node 1 (default targets).
C:\Projects\NetStdExample\NetStdExample.StdLib\NetStdExample.StdLib.csproj(1,1): error MSB4041: The default XML namespace of the project must be the MSBuild XML namespace. If the project is authored in the
MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the <Project> element. If the project has been authored in the old 1.0 or 1.2 format, please convert it to MS
Build 2003 format.
Done Building Project "C:\Projects\NetStdExample\NetStdExample.StdLib\NetStdExample.StdLib.csproj" (default targets) -- FAILED.
有没有办法使用Cake
构建此类项目?
答案 0 :(得分:2)
DotNetBuild
别名是一个较旧的别名,可以明确决定是否构建:
使用MSBuild或XBuild的指定解决方案。
即。它将查看当前正在运行的构建类型的计算机,并运行MSBuild
或XBuild
。
从问题的声音来看,这听起来并不像你想要的那样。相反,我认为你是在DotNetCore别名之后:
https://www.cakebuild.net/api/Cake.Common.Tools.DotNetCore/DotNetCoreAliases/
即。你可以这样做:
DotNetCoreBuild(BuildParameters.SolutionFilePath.FullPath);
使用dotnet
cli构建指定的解决方案。
DotNetBuild
别名可能会在某个时候被淘汰。