Lorsque je démarre mon site web pour la première fois, j'obtiens cette erreur
Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
Qu'est-ce que je fais de mal ?
J'utilise .NET 4 et je lance le site à partir de Visual Studio.
La seule chose que j'ai changée récemment est d'ajouter Simple Injector (via Nuget) dans mon projet.
Voici la trace de la pile
[TypeLoadException: Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.]
System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type) +0
System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext) +180
System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments) +192
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) +115
System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent) +426
System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly, RuntimeType caType) +103
System.Reflection.RuntimeAssembly.GetCustomAttributes(Type attributeType, Boolean inherit) +64
WebActivator.AssemblyExtensions.GetActivationAttributes(Assembly assembly) +132
WebActivator.ActivationManager.RunActivationMethods() +216
WebActivator.ActivationManager.RunPreStartMethods() +43
WebActivator.ActivationManager.Run() +69
[InvalidOperationException: The pre-application start initialization method Run on type WebActivator.ActivationManager threw an exception with the following error message: Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'..]
System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) +423
System.Web.Compilation.BuildManager.CallPreStartInitMethods() +306
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +677
[HttpException (0x80004005): The pre-application start initialization method Run on type WebActivator.ActivationManager threw an exception with the following error message: Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'..]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9090876
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +97
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +258
La première ligne de toutes les vues est mise en surbrillance et lorsque vous les survolez, vous obtenez cette erreur
The pre-application start initialisation method Run on type WebActivator.ActivationManager threw an exception with the following error message Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
1 votes
Nous avons besoin de plus de contexte sur l'endroit où vous commencez votre site web, et comment. Utilisez-vous définitivement .NET 4/4.5 ?
1 votes
NB : si quelqu'un a les mêmes symptômes sur la sortie de votre serveur de construction, vérifiez que vous avez les assemblages de référence .net 4.0, après avoir installé .net 4.5, vous devrez les copier depuis votre boîte de développement. Ils sont typiquement quelque part comme : C:\Program Fichiers (x86) \Reference Assemblages \Microsoft\Framework\.NETFramework\v4.0 Pour plus de détails, voir marcgravell.blogspot.co.nz/2012/09/
1 votes
Je viens de rencontrer un problème similaire avec une DLL .NET 4.5 utilisée comme plugin pour Microsoft Dynamics CRM 2011 sur une machine qui n'avait que .NET 4.0. Au lieu de le rejeter purement et simplement, il l'a enregistré et a ensuite complètement interrompu la personnalisation du flux de travail (le plugin contenait une activité de flux de travail personnalisée). Le traçage a montré qu'il ne pouvait pas trouver ExtensionAttribute dans mscorlib, ce qui m'a conduit ici, je l'ai reconstruit pour .NET 4.0 et le problème a été résolu ! J'ai pensé que cela devait être mentionné pour une future recherche sur Google.