Je viens de mettre à niveau un projet ASP.NET MVC4 pour utiliser Unity.WebApi version 5.0.0.0 et il nécessite System.Web.Http v 5.0.0.0 selon l'erreur suivante:
Assembly 'Unity.WebApi, Version=5.1.0.0, Culture=neutral, PublicKeyToken=43da31bc42a85347' uses 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
Je fais actuellement référence à System.Web.Http v4.0 mais j'ai les packages NuGet suivants mis à niveau vers leurs dernières versions respectives:
ANTLRv3
Fournisseurs universels Microsoft ASP.NET
Microsoft.Web.Infrastructure
Microsoft ASP.NET MVC
Rasoir Microsoft ASP.NET
Bibliothèques de base des fournisseurs universels Microsoft ASP.NET
Fournisseurs universels Microsoft ASP.NET
Client Microsoft ASP.NET Web API 2
API Web Microsoft ASP.NET 2 Core
Hôte Web de l'API Web Microsoft ASP.NET 2
API Web Microsoft ASP.NET 2
Page Web Microsoft ASP.NET
Microsoft.Web.Infrastructure
WebGrease
via NuGet. Je n'ai pas répertorié les bibliothèques JavaScript pertinentes telles que Micrososft.jQuery.Unobtrusive Validation, etc.
Quel est le package NuGet pour mettre à niveau System.Web.Http ou dois-je le faire manuellement?
la source
Réponses:
Vous avez besoin du package Microsoft.AspNet.WebApi.Core .
Vous pouvez le voir dans le fichier .csproj:
la source
bin_deployableAssemblies
n'est qu'un dossier normal, mais il bénéficie d'un traitement spécial lorsqu'il existe dans le répertoire de votre projet. Tout fichier .dll de ce dossier est copié dans le répertoire bin lorsque vous publiez votre application Web. Il a été utilisé pour déployer la dll System.Web.Mvc (et d'autres) avec votre application Web avant que NuGet ne devienne courant.J'ai plusieurs projets dans une solution. Pour certains projets, j'avais précédemment ajouté les références manuellement. Lorsque j'ai utilisé NuGet pour mettre à jour le package WebAPI, ces références n'étaient pas mises à jour automatiquement.
J'ai découvert que je pouvais soit mettre à jour manuellement ces références pour qu'elles pointent vers la DLL v5 dans le dossier Packages de ma solution, soit effectuer les opérations suivantes.
la source