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.

Jérémy Jeanson

Comments

You have to be logged in to comment this post.