Cake build DotNet Core错误

时间:2017-03-28 18:31:35

标签: .net-core cakebuild

我正在尝试使用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构建,则构建正常工作

  • dotnet build 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

  • cake --version

      

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

  • dotnet.exe --version

      

    1.0.1

  • dotnet.exe

      

    Microsoft .NET核心共享框架主机

         

    版本:1.1.0    建立:928f77c4bc3f49d892459992fb6e1d5542cb5e86

1 个答案:

答案 0 :(得分: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");
    });
    
  3. 结果是:

      

    构建
      执行任务:建立
      Microsoft(R)Build Engine版本15.1.548.43366
      版权所有(C)Microsoft Corporation。版权所有。

         

    CouchDB.Driver.Core - > xxx.dll

         

    构建成功。
          0警告
          0错误

         

    时间流逝00:00:11.10
      完成执行任务:构建