Je k dispozici pro rozhraní .NET Framework 4.5 v systému Windows 7 SP1, Windows Server 2008 R2 SP1, Windows Server 2008 SP2 a Windows Vista SP2 aktualizace: květen 2013

Úvod

K dispozici je aktualizace pro rozhraní .NET Framework 4.5. Další informace o problémech, které tato aktualizace řeší naleznete v části "Problémy, že tato aktualizace řeší".

Další informace

Jak získat tuto aktualizaci

Windows Update

Tato aktualizace je k dispozici z Webu Windows Update.

Microsoft Download Center

Následující soubor je k dispozici pro stažení z Microsoft Download Center:

Download Stáhněte balíček.

Pro více informací o tom, jak stahovat soubory podpory společnosti Microsoft, klepněte na následující číslo článku v databázi Microsoft Knowledge Base:
119591 jak získat soubory podpory společnosti Microsoft ze serverů služeb online
Microsoft zkontroloval tento soubor na přítomnost virů. Společnost Microsoft použila aktuální antivirový software, který byl k dispozici k datu, kdy byl soubor vydán. Soubor je uložen na zabezpečených serverech, které pomáhají zabránit neoprávněným změnám v souboru.

Předpoklady

Chcete-li nainstalovat tuto aktualizaci, musíte mít rozhraní .NET Framework 4.5, která je nainstalována.

Požadavek na restartování

Nemáte k restartování počítače po instalaci této aktualizace, pokud zasažené soubory nejsou používány.

Známý problém

Po instalaci této aktualizace pro rozhraní .NET Framework 4.5 pravděpodobně nelze otevřít nebo vytvořit C++ nebo JavaScript soubory a projekty. Chcete-li tento problém vyřešit, nainstalujte Visual Studio 2012 aktualizace popsané v následujícím článku znalostní báze Knowledge Base (KB) 2781514.

Informace o souborech

Globální verze této aktualizace má atributy souborů (nebo novější) uvedené v následující tabulce. Kalendářní data a časy jednotlivých souborů jsou uvedeny v koordinovaném světovém čase (UTC). Při zobrazení informací o souboru je převeden na místní čas. Rozdíl mezi místním časem a časem UTC naleznete na kartě Časové pásmo v položce Datum a čas v okně Ovládací panely.

Pro složky služby LDR
Pro složky služby GDR

Problémy, které tato aktualizace řeší

Tato aktualizace řeší Windows Presentation Foundation (WPF), společné rutina jazyka (CLR), model Windows Forms a XML problémy, které jsou popsány v následujícím článku znalostní báze Knowledge Base (KB):
2750147 aktualizace je k dispozici pro rozhraní .NET Framework 4.5 v systému Windows 7 SP1, Windows Server 2008 R2 SP1, Windows Server 2008 SP2 a Windows Vista SP2: leden 2013

CLR

Problém 1

Nesprávná hodnota z metody DateTime.TryParse zobrazit použijte kódy, které se podobají následující:

DateTime dt = DateTime.Parse("4/21 5pm");Console.WriteLine(dt.ToString());

if (DateTime.TryParse("4/21 5pm", out dt))
{
Console.WriteLine(dt.ToString());
}
Console.ReadLine();
Poznámka: V tomto příkladu DateTime.TryParse metoda nesprávně vrátí čas 4:00 hodin jako dnešní datum.

Řešení

Po instalaci této opravy hotfix, se metoda pokusí analyzovat tento konkrétní vzor správně.

Chcete-li povolit tuto opravu hotfix, přidejte následující kód do konfiguračního souboru aplikace:
<configuration>
<runtime>
<EnableAmPmParseAdjustment enabled=”1” />
</runtime>
</configuration>
Poznámka: tato oprava hotfix nemá vliv na nastavení data a času systému.

Problém 2
Při spuštění následující kód vzorku pomocí otevřít obecných typů, dojde k neošetřené výjimky za běhu:

[InheritedExport]interface ITest2<T>
{
void Execute();
}

class TestClass2<T> : ITest2<T>
{
public void Execute()
{
Console.WriteLine();
}

}
class Program
{
static void Main(string[] args)
{
var catalog = new AssemblyCatalog(typeof(Program).Assembly);
var container = new CompositionContainer(catalog);
var test2 = container.GetExportedValues<ITest2<string>>();
}
}

Problém 3
Chybová CryptographicException při analýze objektu System.Security.Cryptography.Oid .

Problém 4
V aplikaci s více vlákny konzoly Console.ReadKey metoda blokuje volání vlastnosti Console.InputEncoding z jiného vlákna.

Problém 5
Zobrazí se při pokusu o instalaci sestavení, která je sdílena s Visual Studio v globální mezipaměti sestavení (GAC) chybu odepření přístupu. Ovlivněné sestavení navíc může být přerušeno, když je odstraněn ze systému. Tento problém nelze vyřešit i po restartování počítače.

Problém 6
ConcurrentQueue < T >. TryPeek metoda vrátí hodnotu true. Nicméně objekt vrácený je null.

WPF

Problém 1
Předpokládejme, že pokusu o volání metody PrintQueue.AddJob (název_úlohy řetězec, řetězec documentPath, bool fastCopy) k tisku na tiskárnu s XPS dokumentu specifikace XPS (XML Paper) a fastCopy parametr nastaven na hodnotu true. V takovém případě mohou nastat následující problémy:
  • Tisk lístků, které jsou vloženy v dokumentu budou ignorovány.
  • V dialogovém okně Náhled se zobrazí ve smyčce.

Problém 2
Při vlastnost obsahu ContentControl ovládací prvek (například tlačítko) je nastavena na příkaz RoutedCommand ovládacího prvku nelze zobrazit název příkazu směrování. Například nastavit na ovládací prvek Button v rozhraní Microsoft .NET Framework 4.5 nebo Microsoft rozhraní.NET Framework 4 ApplicationCommands.Paste příkazu použijte následující kód:
<Button Content="{x:Static ApplicationCommands.Paste}" /> 
Tlačítka v této situaci se nesprávně zobrazuje "System.Windows.Input.SecureUICommand" v rozhraní .NET Framework 4.5. Tlačítko však zobrazí správně "Vložit" v rozhraní.NET Framework 4.

Problém 3
Předpokládat velké kolekce navázány na ovládací prvek, který podporuje více výběrů, jako je například ListBox nebo ovládacího prvku DataGrid. Při volání metody SelectedItems.Add , i když na začátku kolekce přidané položce pracuje pomalu.

Poznámka: V rozhraní.NET Framework 4 můžete dojít ke snížení výkonu při přidané položce blíží konec kolekce.

Problém 4
Cíl přístupů pro obsah, který obsahuje text malé velikosti je větší než obsah. Po klepnutí mimo skutečný obsah, je spuštěna událost click nebo jiné odpovídající událost. K tomuto problému dochází, když se zmenší velikost textu a zvětšení měřítka faktory.


Problém 5
Předpokládá změnit pomocí vazby cestu, která obsahuje statickou vlastnost volič vlastnost SelectedItem vlastnost) (například, nebo ComboBox.Text vlastnost. V takovém případě vazby nereaguje na změny. Nová hodnota není konkrétně zapsány do datové položky.

Problém 6
Při spuštění aplikace založené na rozhraní .NET Framework 4.5 WPF v počítači, který obsahuje více grafických adaptérů, černé pruhy se může zobrazit v okně WPF. K tomu obvykle dochází, když WPF okno přetáhnete z monitoru na jeden adaptér na jiný monitor na jiný adaptér.
Problém 7
Pokud dojde k neošetřené výjimky v model Windows Forms obsah, jehož hostitelem je aplikace založené na rozhraní .NET Framework 4.5 WPF, dojde k chybě aplikace WPF. Například dojde k neošetřené výjimce při WPF aplikace používá < WindowsFormsHost > elementu objektu XAML.

Problém 8
Při psaní do pole se seznamem ovládací prvek, který obdržel fokus pomocí klávesy TAB poprvé obdržíte NullReferenceException výjimku a aplikace WPF, dojde k chybě.

Model Windows Forms

Problém 1
Předpokládejme, že definujete vlastní ovládací prvek, který obsahuje vlastnost, která může být návrhář serializovat a je dodávána s atributem [DefaultValue()] , jejímž výsledkem je implicitní přetypování.

Například následující typ vlastnosti je "krátká" a výchozí hodnota je určena jako "Int32":
[DefaultValue(2)]
public short Number { get; set; }
V tomto scénáři Pokud návrhář model Windows Forms Visual Studio serializuje nebo zrušit serializuje tento ovládací prvek System.ArgumentException je vyvolána.

Problém 2
Jde o takovouto situaci:
  • Můžete definovat odvozené rozhraní a základní rozhraní.
  • Můžete skrýt vlastnost základní rozhraní pomocí "nové" modifikátor odvozené rozhraní. Například použijte následující kód:

    public interface IInterfaceA{
    int PropertyA { get; set; }
    int PropertyB { get; set; }
    }
    public interface IInterfaceB : IInterfaceA
    {
    new int PropertyA { get; set; }
    int PropertyD { get; set; }
    }
  • Použít odvozené rozhraní jako argument v ListBindingHelper.GetListItemPropertiesrozhraní API.

V tomto scénáři jsou vráceny vlastnosti, které jsou definovány v odvozené rozhraní v rozhraní.NET Framework 4. K tomu dochází, protože reprezentuje nevrací vlastnosti definované ve základní třídě. V rozhraní .NET Framework 4.5, jsou však zahrnuty vlastnosti ze základní třídy. Kromě toho ListBindingHelper.GetListItemProperties API vrátí dvě instance vlastnost, která se nazývá "PropertyA".

Řešení

Tato aktualizace změní ListBindingHelper.GetListItemProperties API rozhraní.NET Framework 4 chování. Toto rozhraní API je vyvolána v době návrhu, pokud je IInterfaceB nastavena jako zdroj dat v ovládacím prvku (například ovládací prvek DataGridView ).

System.Messaging


Jde o takovouto situaci:
  • Pomocí System.Messaging nebo MSMQ v prostředí pracovní skupiny.
  • Použijte metodu MessageQueue.GetPrivateQueuesByMachine pro načítání pole objektů MessageQueue pro všechny soukromé fronty ve vzdáleném počítači v pracovní skupině.
V tomto scénáři setkáte MessageQueueException výjimku a je přijata následující chybová zpráva:

Neplatná cesta k frontě.

Windows Communication Foundation (WCF)

V rozhraní .NET Framework 4.5 WCF zavádí novou metodu s názvem "Reflection Emit", která generuje sestavení serializace XML. Tato metoda umožňuje scénáře, kde klientské aplikace nelze zapsat dočasné serializace sestavení na disk. V některých případech to může způsobit problémy, po upgradu na rozhraní .NET Framework 4.5.

Možnost odhlásit se od tohoto nového chování a vrátit se k serializaci WCF 4 XML je popsána v následujícím článku KB:
2748720 serializace a deserializace selhání při spuštění existujícího kódu XML serializace v WCF 4.5
V aplikaci založené na rozhraní .NET Framework 4.5 můžete jako alternativní řešení, která je popsána v KB 2748720 následující kód:

<configuration>     <system.xml.serialization>         <xmlSerializer useLegacySerializerGeneration="true"/> </system.xml.serialization> <configuration> 
Předpokládejme, že můžete také použít ve stejném souboru application.config nebo soubor web.config cílení na rozhraní.NET Framework 4 a rozhraní .NET Framework 4.5. V této situaci dojde výjimku, která označuje, že prvek < xmlserializer > nelze rozpoznat podle atributu < system.xml.serialization > .

U aplikací, které se zaměřují na rozhraní.NET Framework 4 a rozhraní .NET Framework 4.5 se pokusí doporučujeme použít následující konfiguraci < appSetting > Chcete-nahradit předchozí přepínače:

<appSettings>     <add key="System:Xml:Serialization:UseLegacySerializerGeneration" value="true"/> </appSettings> 
Poznámky
  • Oba přepínače pracují v rozhraní .NET Framework 4.5. Však přepínač < appSettings > zajistí mezi rozhraní.NET Framework 4.0 a .NET Framework 4.5 lze přenést app.config soubor nebo soubor web.config. Pokud použijete oba přepínače, bude použit pouze < appSettings > přepínače.
  • Pokud aplikace rozhraní.NET Framework 4.0 používá konfigurační element "UseLegacySerializerGeneration", aplikace vrátí chybu konfigurace.

Tato aktualizace také řeší následující problémy, po upgradu na rozhraní .NET Framework 4.5.

Problém 1
Při deserializaci jednoduché pole, které lze serializovat jako atributy XmlAttribute, operace se nezdaří. Dále se zobrazí následující chybová zpráva:
System.XML.XmlException: 'EndElement' je neplatný typ XmlNode.
Po upgradu na rozhraní .NET Framework 4.5, služba IIS může vrátit protokolu HTTP400 -'chybaChybný požadavek' .

Problém 2
Jde o takovouto situaci:
  • "A" základní třída a odvozená třída "B" použijte k serializaci nebo deserializaci objektu "B".
  • Virtuální vlastnost je definována v "A" a "B" je přepsán.
V tomto scénáři výstupy Serializační procedura vlastnost, která je definována v "A" místo "B".

Vlastnosti

ID článku: 2805221 - Poslední kontrola: 10. 1. 2017 - Revize: 1

Microsoft .NET Framework 4.5, Windows 7 Service Pack 1, Windows Server 2008 R2 Service Pack 1, Windows Server 2008 Service Pack 2, Aktualizace SP2 pro Windows Vista

Váš názor