J'ai deux serveurs qui utilisent généralement les mêmes configurations - IIS, SQL Server, etc. L'un me donne cette erreur, l'autre non. Je publie le même code depuis Visual Studio sur les deux.
Ils sont tous deux en train de courir .NET CLR Version v4.0.30319
qui, je crois, est 4.5
.
Quelques réponses disons que vous devez cibler une autre version, si je change cela dans visual studio, tout se casse, donc ce n'est pas cela. De plus, le même code fonctionne sur les autres serveurs.
Autres réponses dire que de vieilles DLL pourraient en être la cause. Je n'ai pas déployé sur le serveur de travail, donc peut-être que des DLL plus récentes ont été copiées ? Mais comment le savoir ?
De plus, l'erreur ne semble pas être dans mon code, mais plutôt dans le framework et Umbraco, donc je ne pense pas que je doive aller mettre à jour les fonctions de chaîne ou quelque chose comme ça :
[MissingMethodException: Method not found: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object)'.]
System.Net.Http.Headers.MediaTypeHeaderValue.CheckMediaTypeFormat(String mediaType, String parameterName) +0
System.Net.Http.Headers.MediaTypeHeaderValue..ctor(String mediaType) +33
System.Net.Http.Formatting.MediaTypeConstants..cctor() +45
[TypeInitializationException: The type initializer for 'System.Net.Http.Formatting.MediaTypeConstants' threw an exception.]
System.Net.Http.Formatting.JsonMediaTypeFormatter..ctor() +99
System.Net.Http.Formatting.MediaTypeFormatterCollection.CreateDefaultFormatters() +49
System.Web.Http.HttpConfiguration..ctor(HttpRouteCollection routes) +255
System.Web.Http.GlobalConfiguration.<CreateConfiguration>b__0() +78
System.Lazy`1.CreateValue() +14308960
System.Lazy`1.LazyInitValue() +524
Umbraco.Web.WebBootManager.InitializeResolvers() +1530
Umbraco.Core.CoreBootManager.Initialize() +814
Umbraco.Web.WebBootManager.Initialize() +19
Umbraco.Core.UmbracoApplicationBase.StartApplication(Object sender, EventArgs e) +244
[HttpException (0x80004005): The type initializer for 'System.Net.Http.Formatting.MediaTypeConstants' threw an exception.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +588
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +181
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +322
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +402
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +452
[HttpException (0x80004005): The type initializer for 'System.Net.Http.Formatting.MediaTypeConstants' threw an exception.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +646
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +778
En général, il n'y a pas beaucoup d'informations sur Google, donc pas sûr de ce qui pourrait être fait. Toute idée est la bienvenue !