ASP.NET l'API Web d'erreur après la mise à jour de Visual Studio 2012 RC: Méthode non trouvé: 'Void Système.Net.Http.Les en-têtes.HttpHeaders.AddWithoutValidation
Après la mise à jour de Visual Studio 2012, je ne peux plus accéder à aucun de mes ApiControllers, l'erreur suivante est générée:
Server Error in '/' Application.
Method not found: 'Void System.Net.Http.Headers.HttpHeaders.AddWithoutValidation(System.String, System.Collections.Generic.IEnumerable`1<System.String>)'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.MissingMethodException: Method not found: 'Void System.Net.Http.Headers.HttpHeaders.AddWithoutValidation(System.String, System.Collections.Generic.IEnumerable`1<System.String>)'.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[MissingMethodException: Method not found: 'Void System.Net.Http.Headers.HttpHeaders.AddWithoutValidation(System.String, System.Collections.Generic.IEnumerable`1<System.String>)'.]
System.Web.Http.WebHost.HttpControllerHandler.AddHeaderToHttpRequestMessage(HttpRequestMessage httpRequestMessage, String headerName, String[] headerValues) +0
System.Web.Http.WebHost.HttpControllerHandler.ConvertRequest(HttpContextBase httpContextBase) +248
System.Web.Http.WebHost.HttpControllerHandler.BeginProcessRequest(HttpContextBase httpContextBase, AsyncCallback callback, Object state) +79
System.Web.Http.WebHost.HttpControllerHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +48
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +268
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17626
Quelqu'un sait comment résoudre ce problème?
OriginalL'auteur Peter Moberg | 2012-06-02
Vous devez vous connecter pour publier un commentaire.
Vous avez une référence à une ancienne version de Système.Net.Http dans votre projet. Pour résoudre ce problème, allez sous "Références" de votre projet, de supprimer du Système.Net.Http, et ajouter la version qui vient avec .NET 4.5 au lieu de cela. Cela devrait le faire.
Henrik
Mettre à jour vos paquets nuget.
J'ai eu un problème similaire avec VS 2017 et le Cadre 4.7.2 - je peux confirmer à l'aide de la version Nuget plutôt que le GAC version résolu mon problème.
OriginalL'auteur Henrik Frystyk Nielsen
Solution à cela et d'autres RC questions liées à la ici.
Merci pour la référence, j'espère que cela a aidé.
Je vois que Henrik Nielsen est maintenant approuvant (?) ou au moins la mention de cette solution sur Twitter: twitter.com/frystyk/status/210256371252346882
OriginalL'auteur JSancho
étape 1
Supprimer la ci-dessous les références de votre projet:
Système.Net.Http, Système.Web.Http, Système.Web.Http.Hébergeur , Système.Web.Http.Commune & Système.Net.Http.Mise en forme
étape 2
Ajoutez le au-dessus de refefrences (à l'exception du Système.Web.Http.Commune & Système.Net.Http.Mise en forme) depuis le Dessous de l'emplacement
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Packages\Microsoft.AspNet.WebApi.De base.4.0.20505.0\lib\net40
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Packages\Microsoft.AspNet.WebApi.Hébergeur.4.0.20505.0\lib\net40
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Packages\Microsoft.Net.Http.2.0.20505.0\lib\net40
et ajouter une nouvelle dll Newtonsoft.Json.dll de
OriginalL'auteur User0106
Ce fixe pour moi.
Méthode ne trouve pas: 'Void Système.Net.Http.Les en-têtes.HttpHeaders.AddWithoutValidation(Système D'.Chaîne, Système.Les Collections.Génériques.IEnumerable`1)'.
J'ai résolu avec les étapes suivantes. Vous ne savez pas si elles sont toutes nécessaires, mais cela a fonctionné.
Dans le Gestionnaire de Package NuGet, désinstallé le Web.API Bêta paquet.
Ajout de liens vers Système.Net.Http, Système.Web.Http, & Système.Web.Http.Hébergeur (ceux-ci ont été enlevés par l'étape précédente).
Installé Json.Net via NuGet.
Comme une outre, si votre projet est de ciblage de la version 4.0 du framework, vous devez inclure le nouveau Microsoft ASP.Net l'API Web ensemble de paquets NUGET, pour obtenir un feu vert de votre. Json.Net est une dépendance de ces nouveaux paquets, de sorte que vous ne devez pas installer séparément.
OriginalL'auteur Tom Stickel