Warning NU1603: EPiServer.Find.Cms 14.2.1 depends on System.Linq.Async (>= 6.0.0 && < 7.0.0) but System.Linq.Async 6.0.0 was not found. An approximate best match of System.Linq.Async 6.0.1 was resolved.
I do not like warnings, and I prefer to get rid of them. If I upgrade to the latest version of Optimizely CMS (install the NuGet package EPiServer.CMS 12.13.2) and then Install Episerver Search & Navigation (install the NuGet package EPiServer.Find.Cms 14.2.1) – I will get this warning.
Warning NU1603: EPiServer.Find.Cms 14.2.1 depends on System.Linq.Async (>= 6.0.0 && < 7.0.0) but System.Linq.Async 6.0.0 was not found. An approximate best match of System.Linq.Async 6.0.1 was resolved.
If I install the package System.Linq.Async explicitly, like this, the warning goes away. But that shouldn't be necessary!
<ItemGroup>
<PackageReference Include="EPiServer.CMS" Version="12.13.2" />
<PackageReference Include="EPiServer.Find.Cms" Version="14.2.1" />
<PackageReference Include="System.Linq.Async" Version="6.0.1" />
</ItemGroup>
So, why do I receive this warning? The package EPiServer.Find.Cms have a dependency on System.Linq.Async version >=6.0.0 and <7.0.0, but there is no version 6.0.0 available!
NuGet package dependency resolution will choose the lowest applicable version, but when the lowest version of the dependency range is missing, Visual Studio will complain with a warning before it settles with version 6.0.1.
If you (like me) want to make the warning go away, add a reference to System.Linq.Async version 6.0.1 or pray that Optimizely will update the dependency for EPiServer.Find.CMS from >=6.0.0 and <7.0.0 to >=6.0.1 and <7.0.0.
It is registered as bug FIND-10845.
Update: this has now been corrected as part of update 436, released Janury 3rd 2023.
That's it!