Bu düzeltme toplaması uygulamak için aşağıdaki Bilgi Bankası makalesine gidin ve doğru Düzeltme Toplaması'nı karşıdan yükleyin:
Düzeltme Toplaması 2925383 2925383 4.5.1 Windows .NET Framework için kullanılabilir
Giriş
Bu makalede Microsoft .NET Framework 4.5.1 kullanılabilir düzeltme toplaması 2908385. Sorunu gideren düzeltme hakkında daha fazla bilgi için "Ek bilgi" bölümüne bakın.
Bu düzeltme toplaması, aşağıdaki işletim sistemlerinde kullanılabilir:-
Windows 8
-
Windows Server 2012
Daha fazla bilgi
Düzeltme Bilgileri
Artık Microsoft tarafından desteklenen bir düzeltme sağlanmaktadır. Ancak, bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Yalnızca bu özel sorunla karşılaşmış olan sistemlere uygulayın.
Bu sorunu çözmek için düzeltmeyi edinmek üzere Microsoft Müşteri Destek Hizmetleri'ne başvurun. Microsoft Müşteri Destek Hizmetleri telefon numaralarının ve destek ücretleriyle ilgili bilgi tam listesi için aşağıdaki Microsoft Web sitesini ziyaret edin:http://support.microsoft.com/contactus/?ws=supportNot: Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu çözeceğini belirlerse, destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.
Önkoşullar
Bu düzeltmeyi uygulamak için .NET Framework 4.5.1 yüklü olması gerekir.
Yeniden başlatma gereksinimi
Etkilenen herhangi bir dosya kullanılıyorsa, bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekir. Bu düzeltmeyi uygulamadan önce tüm .NET Framework tabanlı uygulamaları kapatmanızı öneririz.
Düzeltme değiştirme bilgileri
Bu düzeltme paketi paketi daha önce yayımlanmış bir düzeltmenin yerini almaz.
Bu düzeltme toplaması giderir sorunları
Sorun 1
Symptoms
Application.DoEvents() yöntem NumericUpDown denetimi ValueChanged olay işleyicisinden çağırır varsayalım. Örneğin, aşağıdaki kodu kullanın:private void numericUpDown1_ValueChanged(object sender, EventArgs e){ for (int i = 0; i < 10; i++) { Application.DoEvents(); Thread.Sleep(10); } } Zaman yukarı veya aşağı ok düğmesini birkaç saniye basılı tutulduğunda, Denetim yinelenen artırır veya azaltır üretmek için bir zamanlayıcı oluşturur. Application.DoEvents timer tick yeniden işlenir. Bu yeni ValueChanged olayı neden olur. Ardından timer tick olay işleyicisini yeniden girin. Fare düğmesi serbest bırakıldığında, Zamanlayıcı yığının altındaki işleyicisinde yok ancak daha sonra tekrar tekrar diğer işleyiciler sapmasına yığını gibi. Bu bir null başvuru özel durumu ve kilitlenmeye neden olabilir.Geçici çözüm Bu soruna geçici bir çözüm için BeginInvoke timer olayı işlendikten sonra Application.DoEvents() zaman uyumsuz olarak çağırmak için kullanın. Örneğin, aşağıdaki sınıf varsayılan davranışı geçersiz kılmak için kullanın:public class MyNumericUpDown : System.Windows.Forms.NumericUpDown{ public NumericUpDown() : base() { } protected override void OnValueChanged(EventArgs e) { // run the handler as a separate event to prevent re-entrance to prevent a NullRef when hitting. if (IsHandleCreated) BeginInvoke(new Action(() => base.OnValueChanged(e))); else base.OnValueChanged(e); } } Not: Genellikle, çünkü bu için yığın taşmasına neden olabilir (ValueChanged Timer.OnTick ileti işleyicisi oluşturulur) bir ileti işleyicisinden ileti döngüsü (Application.DoEvents) yeniden önerilmez. Örneğin, NumericUpDown denetimi aralığını büyük ve kullanıcı uzun süre aşağı ok düğmesi içerir. BeginInvoke yığın taşması önlemek için kullanın. Bu düzeltme, bu sorunu gidermez.
Sorun 2
Belirtiler
Uzun bir XPS belgesi kopyalama biçimlendirilmiş metin belgesi içindeki metnin konumunu bağlı olarak birkaç dakika sürebilir ve dondurmak uygulama neden olabilir.
Cause Bazı biçimlendirme bildirimleri istediğiniz seçim en başından belgenin tarama gerektirdiği için bu sorun oluşur. Bu bildirimler ( IsTypographicOnlyolarak işaretlenmemiş bir TextElementEditingBehaviorAttribute özniteliğine sahip özel öğeden geldiklerini) nadirdir. Mantık böyle bir bildirimleri istediğiniz seçimi görüntülendiğinde pahalı tarama önlemek için bu düzeltmeyi değiştirilir.Sorun 3
Belirtiler
Windows Presentation Foundation (WPF) TextBlock, metnin sonunda bir veya daha fazla karakter görüntülenmeyebilir. Bu sorun, aşağıdaki koşullar geçerli olduğunda oluşur:
-
TextWrapping veya TextTrimming etkindir.
-
Doldurma sıfır olmayan veya TextFormattingMode "Görüntü"
-
Genişliği ayarlı değil veya "Otomatik" olarak ayarlayın
-
FontFamily FontSize ve özel karakterler metin unfavorable bir genişlik için müşteri adayı.
Cause
Bu sorun, dolgusu ve metin görüntüleme modu için piksel sınırlarına hizalamak için hesap iç koordinat sistemleri arasındaki genişliği dönüştürme metnin genişliğini bilgisayar kullanımı sırasında ortaya çıkabilecek sayısal (bir yuvarlama hatası) yanlışlıklar nedeniyle oluşur. Bu tür yanlışlıklar karşı koruma hesaplamaları görüntülenmesi gereken tüm karakterler görüntülenir emin olmak için eklenmiştir.Sorun 4
Sabitleme nesneleri performansında düşüşe neden çok fazla yığın bellek parçalanmasına neden olabilir. Bu düzeltme, yığın bellek parçalanması en aza indirir, bellek arabellekleri, daha verimli yeniden sağlar.
Sorun 5
Bazı durumlarda, bir uygulama AppDomain arka plan sonra çöp toplama işlemi kapatma sırasında erişim ihlali özel durumu karşılaşırsınız.
Sorun 6
Profil oluşturma API'sini kullanarak IL araçları yapmak tanılama araçlarını common language runtime (CLR) tarafından atılan aşağıdaki işlenmeyen özel durum neden olabilir:
0X80131401 "SECURITY_E_INCOMPATIBLE_SHARE =. Bu derlemenin yüklenmesi set diğer örneklerden farklı yetki ortaya çıkaracaktır.
Ayrıca, işlem çöküyor. Tanılama araçlarını kullandığınızda bu sorun yalnızca oluşur.
7 sorun
Windows Communication Foundation (WCF) 4.5 HttpMessageHandler genişletilebilirlik noktası (WCF HTTP ardışık olarak da bilinir) kullandığınızda, WWW-Authenticate üstbilgisi HttpRequestMessage ya da HttpResponseMessageolarak ayarlanamaz. Yeni HttpMessageHandler genişletilebilirlik noktası üstbilgilerini işleme için farklı bir mekanizma kullanıyor olmasıdır.
Bu düzeltmeyi uyguladıktan sonra eşlik için üstbilgi eklemek için iki mekanizma duruma getirilir ve bir WWW-Authenticate üstbilgilerinde olduðu yeniden eklemeniz mümkün olmalıdır.Sayı 8
SqlInternalConnectionTds.BreakConnection yönteminden bir NullReferenceException özel durum oluşturulur. Bu düzeltme, NullReferenceException özel durumu müşteri adayları zamanlama sorunu giderir.
Sorun 9
Belirtiler[MC-NBFX]encoder kullanır varsayalım. Ya da System.ServiceModel.Channels.Message.CreateBufferedCopy yöntemini kullanan bir WCF uygulamasının bulunduğunu varsayalım. UTF-8 4 baytlık sıra olarak temsil edilen U + 10000'e U + 10FFFF (dahil) aralığındaki karakterleri içeren bir ileti işlenir. Bu durumda, kodlanmış ikili ileti kaybolabilir ve aşağıdaki hata iletisini alırsınız: System.ArgumentException: The output char buffer is too small to contain the decoded characters, encoding 'Unicode (UTF-8)' fallback 'System.Text.DecoderExceptionFallback'.Parameter name: chars at System.Text.Encoding.ThrowCharsOverflow() at System.Text.Encoding.ThrowCharsOverflow(DecoderNLS decoder, Boolean nothingDecoded) at System.Text.UTF8Encoding.GetChars(Byte* bytes, Int32 byteCount, Char* chars, Int32 charCount, DecoderNLS baseDecoder) at System.Text.DecoderNLS.GetChars(Byte* bytes, Int32 byteCount, Char* chars, Int32 charCount, Boolean flush) at System.Text.DecoderNLS.GetChars(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex, Boolean flush) at System.Text.DecoderNLS.GetChars(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex) at System.Xml.ValueHandle.TryReadChars(Char[] chars, Int32 offset, Int32 count, Int32& actual) at System.Xml.XmlBaseReader.ReadValueChunk(Char[] chars, Int32 offset, Int32 count) at System.Xml.XmlBinaryWriter.WriteTextNode(XmlDictionaryReader reader, Boolean attribute) at System.Xml.XmlDictionaryWriter.WriteNode(XmlDictionaryReader reader, Boolean defattr) at System.ServiceModel.Channels.ReceivedMessage.OnWriteBodyContents(XmlDictionaryWriter writer) at System.ServiceModel.Channels.Message.OnWriteMessage(XmlDictionaryWriter writer) at System.ServiceModel.Channels.Message.OnCreateBufferedCopy(Int32 maxBufferSize, XmlDictionaryReaderQuotas quotas) at System.ServiceModel.Channels.StreamedMessage.OnCreateBufferedCopy(Int32 maxBufferSize) at System.ServiceModel.Channels.Message.CreateBufferedCopy(Int32 maxBufferSize) at ConsoleApplication1.BufferRequestChannel.WrappingRequestContext.BufferMessage() Bu sorun oluştuğunda, kendi kendine barındırılan WCF uygulaması ise, istemci yanıt zaman aşımına uğradı. WCF uygulamasının web tarafından barındırılan (ASP.NET) ise, istemci 500 sunucu hatası alırsınız.
BinaryMessageEncoder sınıfını kullanan bir WCF uygulamasının yüklü ve bağlı UTF-8 metin kayıt başınaNeden
4 baytlı UTF-8 karakter dizileri çözülür, bazen yeterli yer ayıran bir iç uygulama ayrıntılarını nedeniyle bu sorun oluşur.
Çözüm
Bu sorunu çözmek için düzeltmeyi uygulayın. Düzeltme uygulandıktan sonra WCF uygulamasının sonraki için bekler
Çıkış arabelleğinin çok baytlı Unicode karakter kodunu çözmek için yeterli alan yoksa, karakter kodunu çözmek için Read yöntemi.