Comment obtenir 'System.Web.Http, Version = 5.2.3.0?


87

Je viens de créer un projet MVC5 et d'ajouter plusieurs packages à partir de nuget, mais lorsque j'ai compilé le projet, j'ai eu cette erreur. Il semble que l'un des packages dépend vraiment de la version 5.2.3.0 de system.web.http, que je n'ai trouvé nulle part. Je me demande simplement comment obtenir la dernière version de system.web.http?

Erreur 2 L'assembly 'System.Web.Http.WebHost, Version = 5.2.3.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' utilise 'System.Web.Http, Version = 5.2.3.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' qui a une version supérieure à l'assembly référencé '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

Réponses:


117

Dans la console du gestionnaire de package

Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3


J'ai fait mais en me donnant toujours la même erreur <br/> <pre> PM> install-package microsoft.aspnet.webapi.core -version 5.2.3 Tentative de résolution de la dépendance 'Microsoft.AspNet.WebApi.Client (≥ 5.2.3 ) ». Tentative de résolution de la dépendance «Newtonsoft.Json (≥ 6.0.4)». «Microsoft.AspNet.WebApi.Core 5.2.3» déjà installé. www.ptsol.com.au a déjà une référence à «Microsoft.AspNet.WebApi.Core 5.2.3». </pre>
John Hadikusumo

4
@JohnHadikusumo le fait pour tous vos projets. Il semble que vous ayez un projet dépendant avec une version plus ancienne.
Rap

Oui, cela fonctionnera. Lisez attentivement votre Web.config et votre packages.config avant et après l'exécution de cette commande et vous verrez ce qui a changé.
AlfredBr

J'ai résolu mon problème.
Phon Soyang

20

Une façon de résoudre ce problème consiste à modifier la redirection d'assembly dans le fichier web.config.

Modifiez ce qui suit:

<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>

L'attribut oldVersion devrait donc passer de "...- 4.0.0.0" à "...- 5.2.3.0".


Cela a fonctionné pour moi. Nous avions la bindingRedirectconfiguration <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />mais l' avons modifiée pour l'utiliser 4.0.0.0. Cela n'a toujours pas de sens pour moi, car je devrais utiliser la DLL du package NuGet et non la version GAC, mais bon, cela a fonctionné ... alors merci!
jamiebarrow

8

Je l'ai fait Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3mais cela n'a toujours pas fonctionné. Ensuite, j'ai regardé dans le dossier bin de mon projet et j'ai vu 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. Ensuite, je suis redevenu opérationnel.


7

Package d'installation Microsoft.AspNet.WebApi.Core -version 5.2.3

Puis dans le projet Ajouter une référence -> Parcourir. Appuyez sur le bouton Parcourir et accédez au C: \ Users \ UserName \ Documents \ Visual Studio 2015 \ Projects \ ProjectName \ packages \ Microsoft.AspNet.Mvc.5.2.3 \ lib \ net45 et ajoutez le fichier .dll nécessaire


7

Les packages que vous avez installés ont introduit des dépendances vers les DLL de la version 5.2.3.0 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 proir du projet MVC vers toutes les installations de package:

Install-Package Microsoft.AspNet.Mvc -Version 5.2.3

https://www.nuget.org/packages/microsoft.aspnet.mvc


3

La désinstallation et la réinstallation du package NuGet ont fonctionné pour moi.

  1. Supprimez toute ancienne référence du projet.

Exécutez ceci dans la console du gestionnaire de package:

  1. UnInstall-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
  2. Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3

Juste celui-ci a résolu mon problème. J'ai tellement fait et gagner-action était si simple.
George Lanetz
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.