5 votes

Méthode non trouvée : 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object)'.

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 !

3voto

Risto M Points 2179

Si vous regardez documentation Cette surcharge ne semble être disponible que sur .NET 4.6. Il est possible que les serveurs aient des versions différentes de .NET Framework.

La surcharge la plus proche sur .NET 4.5 :

Format(IFormatProvider, String, Object[])

Dans .NET 4.6, il y a exactement la même surcharge :

Format(IFormatProvider, String, Object)

Assurez-vous que .NET 4.6 est correctement installé sur les deux serveurs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X