7

Je travaille sur une application page unique à l'origine sur ASP.Net MVC 4 Beta et EF 4.3.1. J'ai mis à jour tous les paquets NuGet pour MVC 4 et EF 5. Maintenant, quand je fais un appel à un ApiController ou DbDataController je reçois l'exception suivante:Impossible de charger le type HttpControllerConfigurationAttribute après la mise à jour vers Asp.Net MVC 4 RTM

Impossible de charger le type 'System.Web.Http.Controllers.HttpControllerConfigurationAttribute' de l'assembly 'System.Web.Http, Version = 4.0.0.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35'.

at System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type) 
at System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext) 
at System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments) 
at System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord, MetadataImport scope, Assembly& lastAptcaOkAssembly, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, Object[] attributes, IList derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctor, Boolean& ctorHasParameters, Boolean& isVarArg) 
at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent) 
at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit) 
at System.RuntimeType.GetCustomAttributes(Boolean inherit) 
at System.Web.Http.Controllers.HttpControllerDescriptor.InvokeAttributesOnControllerType(HttpControllerDescriptor controllerDescriptor, Type type) 
at System.Web.Http.Controllers.HttpControllerDescriptor.InvokeAttributesOnControllerType(HttpControllerDescriptor controllerDescriptor, Type type) 
at System.Web.Http.Controllers.HttpControllerDescriptor.InvokeAttributesOnControllerType(HttpControllerDescriptor controllerDescriptor, Type type) 
at System.Web.Http.Controllers.HttpControllerDescriptor..ctor(HttpConfiguration configuration, String controllerName, Type controllerType) 
at System.Web.Http.Dispatcher.DefaultHttpControllerSelector.InitializeControllerInfoCache() 
at System.Lazy`1.CreateValue() 

Selon les notes de version MVC 4, HttpControllerConfigurationAttribute a été retiré, pas que je l'utilise explicitement de toute façon.

Configuration par contrôleur: Les contrôleurs ASP.NET Web API peuvent être attribués avec un attribut personnalisé qui implémente IControllerConfiguration pour configurer leurs propres formateurs, sélecteurs d'action et lieurs de paramètres. Le HttpControllerConfigurationAttribute a été supprimé. MVC 4 Release Notes

Ma question est ce qui pourrait essayer de charger ce type à ce stade?

Éditer: Je pense en ce moment parce que les bits SPA n'ont pas été mis à jour depuis la bêta MVC 4, et il y a des attributs de configuration du contrôleur là-dedans.

+0

Même problème ici, je voulais utiliser le DbDataController. Si vous trouvez une solution, n'hésitez pas à la mettre à jour. –

Répondre

1

Configuration par contrôleur: Les contrôleurs ASP.NET Web API peuvent être attribués avec un attribut personnalisé qui implémente IControllerConfiguration pour configurer leurs propres formateurs, sélecteurs d'action et lieurs de paramètres. Le HttpControllerConfigurationAttribute a été supprimé. Notes de mise à jour de MVC 4

+2

Oui, je comprends qu'il a été supprimé. Vous avez effectivement copié de ma question, alors j'avais déjà lu cela. La chose est, je n'ai jamais utilisé l'attribut pour commencer. Ce que je me demande est ce qui essaie d'en charger un maintenant? –

0

Vous avez probablement des versions plus anciennes de System.Web.Http dans votre GAC. Je crois en version bêta que nous avons GACed les dlls, donc vous voyez ce problème ... si vous un-Gac cette DLL plus ancienne, vous ne devriez pas voir ce problème.

+0

J'ai le même problème que l'auteur de cette question, mais je ne peux pas trouver la DLL dans mon gac alors ce n'est pas ça .. – Peter

Questions connexes