Error CS0433 The type 'ServiceCollection' exists in both ...
Voici un message d’erreur des plus insupportables :
Error CS0433
The type 'ServiceCollection' exists in both 'Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' and 'Microsoft.Extensions.DependencyInjection, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'
Une classe est présente dans deux DLL. Souvent, celles-ci ne sont pas référencées directement par le projet.
Pour résoudre le problème, il suffit de modifier le projet (fichier csproj ou vbproj). Il faut y ajouter les références aux packages incriminés, et fixer la version désirée.
Exemple :
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />
Conclusion
Même si PackageReference est pratique, il faut toujours rester vigilant concernant les références indirectes.