C# 如何在cake中编译.netcore 2.2项目
我们正在开发Asp.NETCoreV2.2.NETCoreWebAPI应用程序,并在我们公司遵循CI 我们在Cake脚本中尝试了下面的代码,但在编译时遇到了下面的错误 错误:C# 如何在cake中编译.netcore 2.2项目,c#,cakebuild,C#,Cakebuild,我们正在开发Asp.NETCoreV2.2.NETCoreWebAPI应用程序,并在我们公司遵循CI 我们在Cake脚本中尝试了下面的代码,但在编译时遇到了下面的错误 错误: Task("Build") .IsDependentOn("Clean") .IsDependentOn("Restore") .Does(() => { try { MSBuild(solutionFile , settings => settings
Task("Build")
.IsDependentOn("Clean")
.IsDependentOn("Restore")
.Does(() => {
try {
MSBuild(solutionFile , settings => settings.SetConfiguration(configuration));
}
catch(Exception ex) {
throw new Exception(String.Format("Please fix the project compilation failures"));
}
});
错误NETSDK1045:当前.NET SDK不支持目标设置
.NET核心2.2。目标.NET Core 2.1或更低版本,或使用
支持.NET Core 2.2的.NET SDK的
蛋糕脚本:
Task("Build")
.IsDependentOn("Clean")
.IsDependentOn("Restore")
.Does(() => {
try {
MSBuild(solutionFile , settings => settings.SetConfiguration(configuration));
}
catch(Exception ex) {
throw new Exception(String.Format("Please fix the project compilation failures"));
}
});
蛋糕版:0.23.0
如何在Msbuild操作或任何其他方法中设置-framework属性值.netcoreapp2.2来编译此文件?为了避免出现蛋糕问题,我建议您在启用诊断详细性的情况下运行上述蛋糕脚本。有关如何执行此操作的信息,请参见此处: 然后,这将向您显示Cake正在执行的导致此错误的命令。使用此命令并直接从命令行运行它,您应该会得到相同的结果
现在我们已经排除了导致问题的原因,我们需要修复根本问题,在这种情况下,我认为错误消息会准确地告诉您问题所在,即您的计算机上没有安装正确的.Net SDK。我怀疑您需要安装新版本。将Cake升级到0.32.0并运行以下代码
MSBuild(solutionFile , new MSBuildSettings {
Verbosity = Verbosity.Minimal,
ToolVersion = MSBuildToolVersion.VS2019,
Configuration = "Release",
PlatformTarget = PlatformTarget.MSIL
});
这不是一个问题。这是业务需求。您应该进行研究,尝试做一些事情,然后如果您有任何特定的代码问题,您可以询问。但代码在哪里?我没有看到任何。我的项目在VS2019以及命令行中使用最新的msbuild 16.0进行编译,但在cake脚本中使用15.0进行编译。所以我的观点是相同的。。。请查看Cake中运行MSBuild的确切命令,并与您知道的有效命令进行比较,然后我们可以找出您需要更改的内容。谢谢Gep,发布了我的答案