maket
maket copied to clipboard
[DO NOT MERGE] Try to override package conflict
I tried to use this approach with Update property but I don't find a way to resolve conflicts. I actually want to reference FSharp.Core 4.2.3 because that's the one Azure Functions uses and we can't upgrade that.

NuGet always seems to reject that now. (I remember it used to work with older .NET Core)
PS D:\code\maket> dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 2.1.300-preview2-008347
Commit: 4f6a57f638
Runtime Environment:
OS Name: Windows
OS Version: 10.0.10586
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\2.1.300-preview2-008347\
Host (useful for support):
Version: 2.1.0-preview2-26311-02
Commit: 6234e89175
.NET Core SDKs installed:
1.0.3 [C:\Program Files\dotnet\sdk]
1.0.4 [C:\Program Files\dotnet\sdk]
1.1.0 [C:\Program Files\dotnet\sdk]
1.1.5 [C:\Program Files\dotnet\sdk]
1.1.6 [C:\Program Files\dotnet\sdk]
2.0.0 [C:\Program Files\dotnet\sdk]
2.0.2 [C:\Program Files\dotnet\sdk]
2.0.3 [C:\Program Files\dotnet\sdk]
2.1.1 [C:\Program Files\dotnet\sdk]
2.1.2 [C:\Program Files\dotnet\sdk]
2.1.3 [C:\Program Files\dotnet\sdk]
2.1.4 [C:\Program Files\dotnet\sdk]
2.1.100 [C:\Program Files\dotnet\sdk]
2.1.101 [C:\Program Files\dotnet\sdk]
2.1.102 [C:\Program Files\dotnet\sdk]
2.1.103 [C:\Program Files\dotnet\sdk]
2.1.104 [C:\Program Files\dotnet\sdk]
2.1.200 [C:\Program Files\dotnet\sdk]
2.1.300-preview2-008347 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.0-preview2-30281 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.0-preview2-30281 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.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.1.0-preview2-26311-02 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Ok NoWarn NU1605 brings me one step further.
Now I get an even worse error at runtime.

This code is actually fine. the versions are binary compatible for everything we need. It's just that dotnet fails to load it - and I assume we can't add redirects!?
The scenario is as follows:
We try to run dotnet core apps that reference FSharp.Core and multiple other libs that depend on FSharp:Core. Unfortunately Azure Functions requires to use FSharp.Core 4.2.3 - you can't change that version because then the shared runtime will not execute your code.
The other libs in the ecosystem (like https://www.nuget.org/packages/Fable.Elmish and https://www.nuget.org/packages/Argu and others) now depend on FSharp.Core 4.3.2 (I already created issues in some of these projects and hope they will downgrade).
Now we hope we could find a way to actually load FSharp.Core with Assembly version 4.4.1.0 (the one from package version 4.2.3) while still using latest version from Fable.Elmish. But the runtime loader freaks out about this downgrade of FSharp.Core - even if both versions are fully compatible here.
So I don't know what to do tbh.
/cc @dsyme
Update: Fable.Elmish already downgraded their dependency (https://github.com/elmish/elmish/issues/146#event-1615214565) - But Argu and others are still on 4.3.2
related: https://github.com/dotnet/coreclr/issues/14263