Je viens de créer un projet MVC5 et d’ajouter plusieurs paquets de nuget, mais lorsque j’ai compilé le projet, j’ai eu cette erreur. Il semble que l’un des paquets dépend vraiment de la version 5.2.3.0 de system.web.http, que je n’ai trouvée nulle part. Je me demande juste comment obtenir la dernière version de system.web.http?
Erreur 2 Assembly 'System.Web.Http.WebHost, Version = 5.2.3.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35' utilise 'System.Web.Http, Version = 5.2.3.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35 'dont la version est supérieure à celle de Assembly' System.Web.Http, version = 5.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 '
d:\Backup 2014-12-25\Website-Projects\www.ptsol.com.au\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll
Dans la console du gestionnaire de packages
Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
Une solution consiste à modifier la redirection de l'assembly dans le fichier web.config.
Modifier les éléments suivants:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
à
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="4.0.0.0" />
</dependentAssembly>
Ainsi, l'attribut oldVersion devrait passer de "...- 4.0.0.0" à "...- 5.2.3.0".
Les paquets que vous avez installés ont introduit des dépendances à la version 5.2.3.0 des dll, comme l’a montré l’utilisateur Bracher ci-dessus. Microsoft.AspNet.WebApi.Cors est un exemple de package. Le chemin que je prends est de mettre à jour le projet MVC de chaque installation de paquet:
Install-Package Microsoft.AspNet.Mvc -Version 5.2.3
J'ai fait Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
mais cela ne fonctionnait toujours pas. Puis j'ai regardé dans mon dossier bin du projet et j'ai constaté qu'il contenait toujours l'ancien fichier System.Web.Mvc.
J'ai donc copié manuellement le fichier le plus récent du package dans le dossier bin. Puis je me suis remis à courir.
Kit d'installation Microsoft.AspNet.WebApi.Core - version 5.2.3
Ensuite, dans le projet Ajouter une référence -> Parcourir. Appuyez sur le bouton de navigation et accédez au répertoire C:\Utilisateurs\Nom d'utilisateur\Documents\Visual Studio 2015\Projets\Nom du projet\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45 et ajoutez le fichier .dll nécessaire.
Désinstaller et réinstaller le package NuGet a fonctionné pour moi.
Exécutez ceci dans la console du gestionnaire de packages:
UnInstall-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3