使用 Cake build 构建引用 NETStandard 项目的 NET Framework 项目
Build NET Framework project that references NETStandard project with Cake build
我有两个项目:StdLib
NETStandard 2.0
class 库和 Console.Framework
.NET Framework 4.6.1
项目。
控制台应用程序引用 class 库。
我尝试使用 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
构建此类项目?
DotNetBuild
别名是一个较旧的别名,它可以就是否构建做出明智的决定:
the specified solution using MSBuild or XBuild.
即它将查看构建当前 运行ning 的机器类型,以及 运行 MSBuild
或 XBuild
.
从你的问题听起来,这听起来不像你想要的。相反,我认为您是在使用 DotNetCore 别名:
https://www.cakebuild.net/api/Cake.Common.Tools.DotNetCore/DotNetCoreAliases/
即你可以这样做:
DotNetCoreBuild(BuildParameters.SolutionFilePath.FullPath);
使用 dotnet
cli 构建指定的解决方案。
DotNetBuild
别名可能会在某个时候被废弃。
我有两个项目:StdLib
NETStandard 2.0
class 库和 Console.Framework
.NET Framework 4.6.1
项目。
控制台应用程序引用 class 库。
我尝试使用 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
构建此类项目?
DotNetBuild
别名是一个较旧的别名,它可以就是否构建做出明智的决定:
the specified solution using MSBuild or XBuild.
即它将查看构建当前 运行ning 的机器类型,以及 运行 MSBuild
或 XBuild
.
从你的问题听起来,这听起来不像你想要的。相反,我认为您是在使用 DotNetCore 别名:
https://www.cakebuild.net/api/Cake.Common.Tools.DotNetCore/DotNetCoreAliases/
即你可以这样做:
DotNetCoreBuild(BuildParameters.SolutionFilePath.FullPath);
使用 dotnet
cli 构建指定的解决方案。
DotNetBuild
别名可能会在某个时候被废弃。