156 votes

GlobalConfiguration.Configure() absent après 2 API Web et .NET 4.5.1 migration

J'ai récemment commencé à suivre ce guide pour migrer mon projet .NET 4.5.1 et Web Api 2.

La première chose que MS développeur Rick Anderson vous demande de faire est de changer:

WebApiConfig.Register(GlobalConfiguration.Configuration);

pour

GlobalConfiguration.Configure(WebApiConfig.Register);

dans le global.asax fichier. Pourtant, ce qui me donne une erreur lorsque j'essaie de construire:

Error   1   'System.Web.Http.GlobalConfiguration' does not contain a definition for 'Configure'

Mon projet est actuellement sur MVC 5 et Web Api 2 et .NET 4.5.1, mais je pense que le Système.Web.Http pense toujours que c'est l' .NEt 4.0 version.

Comment puis-je corriger cela?

Je vous remercie.

Edit:

Voici mon montage fixations:

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
  </dependentAssembly>
  <!--
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
  </dependentAssembly> -->
</assemblyBinding>

Tout commenté après le sommet a été commenté parce que je recevais le message d'erreur:

Warning 2   Found conflicts between different versions of the same dependent assembly that could not be resolved.  These reference conflicts are listed in the build log when log verbosity is set to detailed.

et se débarrasser de la dur liaisons a été la fixation de la.

281voto

Tyrone Moodley Points 231

Il faut le system.web.http.webhost qui fait partie de ce paquet. J’ai corrigé cela en installant le package suivant :

ou chercher dans nuget https://www.nuget.org/packages/Microsoft.AspNet.WebApi.WebHost/5.1.0

87voto

Charles Burns Points 3745

Aucune de ces idées a aidé mon projet à l’aide de MVC 5.2.2.

  • System.web.Http 5.2.2 était déjà installé
  • Supprimer le dossier Packages et complètement re-télécharger toutes les bibliothèques de NuGet n’a rien fait
  • Web.config a déjà eu une entrée dependentAssembly pour System.Web.Http

Forcer une réinstallation corrigé le problème. Depuis la console du gestionnaire de package NuGet :

``

44voto

Kiran Challa Points 14141

classe fait partie du package nuget... Est-ce vous avez amélioré ce paquet à Web API 2 ?

11voto

Cameron Tinker Points 4158

Vous pouvez vérifier que votre projet a Microsoft.AspNet.WebApi.WebHost installé. Comme il s'avère, dans mon cas, Microsoft.AspNet.WebApi.WebHost a été installé dans un autre projet, mais pas le projet particulier qui en avait besoin. Dans votre colis.de configuration, vérifiez que la ligne est là:

<package id="Microsoft.AspNet.WebApi.WebHost" version="5.1.1" targetFramework="net45" />

Si ce n'est pas présente, vous n'avez pas d' Microsoft.AspNet.WebApi.WebHost installé dans votre projet. Vous pouvez soit l'installer à l'aide de Gestionnaire de Package Nuget ou via le Gestionnaire de paquets de la Console. Pour installer à partir du Gestionnaire de paquets de la Console, exécutez cette commande:

Install-Package Microsoft.AspNet.WebApi.WebHost

2voto

Livius Points 81

regardez ma réponse à http://stackoverflow.com/a/20653546/3114457

Il devrait résoudre vos problèmes de migration

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X