web-dev-qa-db-fra.com

Comment résoudre l'erreur "Tentative par la méthode transparente de sécurité" System.Web.Http.GlobalConfiguration.get_Configuration ()

J'ai créé une solution avec deux projets: un MVC 4 et une bibliothèque de classes. La solution se compile et fonctionne correctement. J'installe ensuite le package 'Microsoft.AspNet.WebApi.OData -pre pour extraire la fonctionnalité OData WebApi. Lorsque je le fais, j'obtiens l'erreur suivante lors de l'exécution:

Échec de la tentative par la méthode transparente de sécurité "System.Web.Http.GlobalConfiguration.get_Configuration ()" d'accéder au type critique de sécurité "System.Web.Http.HttpConfiguration".

Lorsque WebApiConfig.Register (GlobalConfiguration.Configuration) s'exécute dans Global.asax

Une fois que je le fais, la désinstallation du package ne semble pas résoudre. Il supprime évidemment les composants OData, mais laisse ensuite tout assemblage à l'origine de cela. la suppression avec -RemoveDependencies supprime TOUTES les références WebApi dans la bibliothèque, et je ne parviens pas à la remettre dans un état de fonctionnement.

Dans quel paquet est-ce que je suis et comment puis-je activer WebApi OData dans une application Vanilla MVC4?

24
Daniel

Si vous créez une application MVC 4 à partir de son modèle, vous installez Web API 4.0. si tu utilises

install-package 'Microsoft.AspNet.WebApi.OData -pre

Vous serez dépendant d'ASP.NET Web API 5.0 rc.

Ma suggestion est d'utiliser le modèle "Application Web ASP.NET vide" plutôt que le modèle MVC 4.0.

11
Aliostad

Il s'agit d'une incompatibilité sur les assemblys pour la version donnée de WebAPI. Le mien échouait parce que je faisais référence à une version non compatible de System.Web.Http.WebHost. Afin que vous puissiez...

  1. Installez la dernière WebAPI de NuGet

    -OU-

  2. Assurez-vous que tous vos Microsoft.AspNet.WebApi.* les packages sont sur la même version

27
Nexxas

J'ai exécuté "update-package Microsoft.AspNet.WebApi" dans la console du gestionnaire de packages dans VS et j'ai travaillé comme un charme.

13
Mav55

Avez-vous besoin de la version préliminaire de l'API Web OData? Si tel est le cas, vous devez mettre à jour tous les autres packages d'API Web pour correspondre à cette version. Sinon, faites-le,

install-package 'Microsoft.AspNet.WebApi.OData

sans le -pre option

3
RaghuRam Nadiminti

J'ai rencontré un problème et j'ai remarqué que la version précédente du code du serveur avec le mode Release et que je télécharge la version avec le code du mode Debug. J'ai donc remplacé par le mode Release et le problème est résolu.

0
Arun Solanki