我正在尝试使用dotnet使用dotnet构建我的解决方案,但我收到了它:
C:\ Program Files \ dotnet \ sdk \ 1.0.1 \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.NET.Sdk.Common.targets(73,5):错误:项目' xxx .csproj '目标'.NETCoreApp,版本= v1.1'。它不能被针对“.NETCoreApp,Version = v1.0”的项目引用。 [xxx.csproj]
可能出现什么问题?
如果我在cmd上运行dotnet.exe构建,则构建正常工作
Microsoft(R)Build Engine版本15.1.548.43366 版权所有(C)Microsoft Corporation。保留所有权利。
CouchDB.Driver.Core - > xxx.dll
构建成功。 0警告 0错误
时间流逝00:00:01.50
xxx.csproj 版本为:
netcoreapp1.1
cake --version
版本0.19.1 + Branch.main.Sha.4c5b4fd5b1c4d9d36066ec78714027e26b211af4
dotnet.exe --version
1.0.1
dotnet.exe
Microsoft .NET核心共享框架主机
版本:1.1.0 建立:928f77c4bc3f49d892459992fb6e1d5542cb5e86
答案 0 :(得分:4)
我忘记了两件事。解决方案是:
在 build.cake :
中设置正确的框架 var settings = new DotNetCoreBuildSettings
{
Framework = "netcoreapp1.1",
Configuration = "Release",
OutputDirectory = "./build/"
};
DotNetCoreBuild("./src/", settings);
使用 DotNetCoreRestore 代替nuget.exe恢复NuGet包
Task("Restore-NuGet-Packages")
.IsDependentOn("Clean")
.Does(() => {
DotNetCoreRestore("src"); // use it instead of NuGetRestore("./folder");
});
结果是:
构建
执行任务:建立
Microsoft(R)Build Engine版本15.1.548.43366
版权所有(C)Microsoft Corporation。版权所有。CouchDB.Driver.Core - > xxx.dll
构建成功。
0警告
0错误时间流逝00:00:11.10
完成执行任务:构建