cake-contrib/Cake.Json

Newtonsoft.Json Reference needs to match Cake.Core

rlove opened this issue · 8 comments

rlove commented

Expected Behavior

The expected output should not contain warnings.

========================================
Default
========================================
Hello World

Task                          Duration
--------------------------------------------------
Default                       00:00:00.0074332
--------------------------------------------------
Total:                        00:00:00.0074332

Current Behavior

(2701,12): warning CS1701: Assuming assembly reference 'Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' used by 'Cake.Json' matches identity 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' of 'Newtonsoft.Json', you may need to supply runtime policy
(2707,12): warning CS1701: Assuming assembly reference 'Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' used by 'Cake.Json' matches identity 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' of 'Newtonsoft.Json', you may need to supply runtime policy

========================================
Default
========================================
Hello World

Task                          Duration
--------------------------------------------------
Default                       00:00:00.0074332
--------------------------------------------------
Total:                        00:00:00.0074332

Possible Solution

Update the Newtonsoft.Json reference to match Cake.Core

Related Issues

cake-build/cake#2582
cake-build/cake#2606

Steps to Reproduce (for bugs)

Using the following script json.cake script

#addin nuget:?package=Cake.Json&version=4.0.0
#addin nuget:?package=Newtonsoft.Json&version=11.0.1
// or #addin nuget:?package=Newtonsoft.Json&version=12.0.2

var target = Argument("target", "Default");
Task("Default")
  .Does(() => {
    Information("Hello World");
  });

RunTarget(target);

With .NET core 3.0 Installed Run.

dotnet tool install Cake.Tool --version 0.35.0
dotnet cake json.cake --bootstrap
dotnet cake json.cake

Your Environment

dotnet --info

NET Core SDK (reflecting any global.json):                                                           
 Version:   3.0.100                                                                                   
 Commit:    04339c3a26                                                                                
                                                                                                      
Runtime Environment:                                                                                  
 OS Name:     Windows                                                                                 
 OS Version:  10.0.17763                                                                              
 OS Platform: Windows                                                                                 
 RID:         win10-x64                                                                               
 Base Path:   C:\Program Files\dotnet\sdk\3.0.100\                                                    
                                                                                                      
Host (useful for support):                                                                            
  Version: 3.0.0                                                                                      
  Commit:  7d57652f33                                                                                 
                                                                                                      
.NET Core SDKs installed:                                                                             
  1.0.0-preview2-003133 [C:\Program Files\dotnet\sdk]                                                 
  2.1.104 [C:\Program Files\dotnet\sdk]                                                               
  2.1.105 [C:\Program Files\dotnet\sdk]                                                               
  2.1.200 [C:\Program Files\dotnet\sdk]                                                               
  2.1.201 [C:\Program Files\dotnet\sdk]                                                               
  2.1.202 [C:\Program Files\dotnet\sdk]                                                               
  2.1.500 [C:\Program Files\dotnet\sdk]                                                               
  2.1.504 [C:\Program Files\dotnet\sdk]                                                               
  2.1.507 [C:\Program Files\dotnet\sdk]                                                               
  2.2.105 [C:\Program Files\dotnet\sdk]                                                               
  2.2.401 [C:\Program Files\dotnet\sdk]                                                               
  3.0.100 [C:\Program Files\dotnet\sdk]                                                               
                                                                                                      
.NET Core runtimes installed:                                                                         
  Microsoft.AspNetCore.All 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]            
  Microsoft.AspNetCore.All 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]            
  Microsoft.AspNetCore.All 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]           
  Microsoft.AspNetCore.All 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]           
  Microsoft.AspNetCore.All 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]            
  Microsoft.AspNetCore.All 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]            
  Microsoft.AspNetCore.All 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]            
  Microsoft.AspNetCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]            
  Microsoft.AspNetCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]            
  Microsoft.AspNetCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]           
  Microsoft.AspNetCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]           
  Microsoft.AspNetCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]            
  Microsoft.AspNetCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]            
  Microsoft.AspNetCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]            
  Microsoft.AspNetCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]            
  Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                 
  Microsoft.NETCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                 
  Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.NETCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]                  
  Microsoft.WindowsDesktop.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]    

So this is still an issue, is this addin no longer used/maintained?

gep13 commented

Not sure I have missed the notifications from this repository, but I am just seeing them now.

I am going to work on getting a new release out just now.

gep13 commented

@rlove @squid-box version 5.0.0 of Cake.Json has just been published:

https://www.nuget.org/packages/Cake.Json/5.0.0

Let me know if you have any questions.

Fantastic, looks to work like a charm.
Thank you!

gep13 commented

@squid-box thanks for confirming!

Actually, @gep13 - one question:

When I pin the Newtonsoft.Json version as specified in the ReadMe of this repository:

#addin nuget:?package=Cake.Json&version=5.0.0
#addin nuget:?package=Newtonsoft.Json&version=12.0.2

I'm getting Method not found: 'Newtonsoft.Json.Linq.JObject Cake.Json.JsonAliases.ParseJson(Cake.Core.ICakeContext, System.String)'.

Sticking with the previous pinning

#addin nuget:?package=Cake.Json&version=5.0.0
#addin nuget:?package=Newtonsoft.Json&version=11.0.2

or even just removing the Newtonsoft addin makes it work fine.

Pinning the wrong version, or not including the addin at all both seem wrong, but I don't really know how to proceed here.

gep13 commented

@squid-box can I ask that you clear out your tools folder, and try again? I am not seeing this happen on my test machine here.

It's still happening with a clean tools folder, but it could be something else in my project messing things up.

I'll try with a clean project, and see if I can figure out what's going on. If I do, I'll create a separate issue for this.

Thanks!