2

我正在尝试使用 cake 使用 dotnet core 构建我的解决方案,但我收到了它:

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 build,则构建工作正常

  • dotnet 构建xxx.csproj

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

  • 蛋糕--版本

    版本 0.19.1+Branch.main.Sha.4c5b4fd5b1c4d9d36066ec78714027e26b211af4

  • dotnet.exe --版本

    1.0.1

  • 点网程序

    Microsoft .NET Core 共享框架主机

    版本:1.1.0 内部版本:928f77c4bc3f49d892459992fb6e1d5542cb5e86

4

1 回答 1

4

我忘记了两件事。解决方案是:

  1. 在build.cake中设置正确的框架:

     var settings = new DotNetCoreBuildSettings
     {
         Framework = "netcoreapp1.1",
         Configuration = "Release",
         OutputDirectory = "./build/"
     };
    
     DotNetCoreBuild("./src/", settings);
    
  2. 使用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 错误

Time Elapsed 00:00:11.10
完成执行任务:Build

于 2017-03-28T18:56:47.057 回答