2014-06-18 40 views
8

Ho appena fatto un aggiornamento sul posto di Windows Server 2008 R2 di Windows Server 2012 e ora i miei WCF Self-Hosted di servizio si avvia ma termina immediatamente con il seguente errore:Impossibile caricare il tipo System.Runtime.Diagnostics.ITraceSourceStringProvider

Service cannot be started. System.TypeLoadException: Could not load type 'System.Runtime.Diagnostics.ITraceSourceStringProvider' from assembly 'System.ServiceModel.Internals, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. at System.ServiceModel.Channels.TextMessageEncoderFactory..ctor(MessageVersion version, Encoding writeEncoding, Int32 maxReadPoolSize, Int32 maxWritePoolSize, XmlDictionaryReaderQuotas quotas) at System.ServiceModel.Channels.HttpTransportDefaults.GetDefaultMessageEncoderFactory() at System.ServiceModel.Channels.HttpChannelListener..ctor(HttpTransportBindingElement bindingElement, BindingContext context) at System.ServiceModel.Channels.HttpChannelListener`1..ctor(HttpTransportBindingElement bindingElement, BindingContext context) at System.ServiceModel.Channels.HttpTransportBindingElement.BuildChannelListener[TChannel](BindingContext context) at System.ServiceModel.Channels.BindingContext.BuildInnerChannelListenerTChannel at System.ServiceModel.Channels.MessageEnc...

Lo stesso servizio viene eseguito correttamente su una nuova installazione di Windows Server 2012 (sebbene non completamente con patch atm).

+1

Vorrei provare a reinstallare .net 4 \ 4.5. qualsiasi possibilità che il tuo servizio sia compilato in un mix di .net 4.0 e 4.5? –

+0

Ha parecchi pacchetti di nuget che sono stati compilati con .net 4.0. Il servizio stesso è mirato al 4.5.1. –

+0

dovresti avere una configurazione dove indicare esattamente quali DLL hai bisogno, e se non c'è un modo per richiedere in modo specifico di ottenere la versione 4.5.1 ... qualcosa dll manifest IIRC –

risposta

7

Una reinstallazione di .NET 4.5.2 come suggerito da AK_ ha risolto il problema.

Problemi correlati