Vient de mettre à niveau un projet ASP.NET MVC4 pour qu’il utilise Unity.WebApi version 5.0.0.0. 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 les packages NuGet suivants ont été mis à niveau vers leurs dernières versions respectives:
WebGrease
via NuGet. Je n'ai pas répertorié les bibliothèques JavaScript pertinentes telles que la validation Micrososft.jQuery.Unobtrusive, etc.
Qu'est-ce que le package NuGet pour mettre à niveau System.Web.Http ou dois-je le faire manuellement?
Vous avez besoin du package Microsoft.AspNet.WebApi.Core .
Vous pouvez le voir dans le fichier .csproj:
<Reference Include="System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.0.0\lib\net45\System.Web.Http.dll</HintPath>
</Reference>
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 afin qu'elles pointent vers la v5 DLL dans le dossier Packages de ma solution ou effectuez les opérations suivantes.