Změny modulu runtime pro migraci na rozhraní .NET Framework 4.6.x

Tento článek obsahuje seznam problémů s kompatibilitou aplikací, které byly zavedeny v rozhraní .NET Framework 4.6, 4.6.1 a 4.6.2.

.NET Framework 4.6

ASP.NET

GridView s AllowCustomPaging nastaveno na true může aktivovat událost PageIndexChanging při opuštění poslední stránky zobrazení.

Podrobnosti

Chyba v .NET Framework 4.5 způsobuje, že se System.Web.UI.WebControls.GridView.PageIndexChanging někdy nespustí pro System.Web.UI.WebControls.GridViews, které mají povolené System.Web.UI.WebControls.GridView.AllowCustomPaging.

Návrh

Tento problém je opravený v rozhraní .NET Framework 4.6 a je možné ho vyřešit upgradem na tuto verzi rozhraní .NET Framework. Jako alternativní řešení může aplikace provést explicitní BindGrid na libovolném Page_Load , který by dosáhl těchto podmínek ( System.Web.UI.WebControls.GridView je na poslední stránce a PosledníSystem.Web.UI.WebControls.GridView.PageSize se liší od System.Web.UI.WebControls.GridView.PageSize). Případně můžete aplikaci upravit tak, aby umožňovala stránkování (místo vlastního stránkování), protože tento scénář problém neukazuje.

Název Hodnota
Scope Nezletilý
Verze 4.5
Typ Provozní doba

Ovlivněná rozhraní API

Základ

ConcurrentDictionary serializovaný v rozhraní .NET Framework 4.5 s NetDataContractSerializer nelze deserializovat rozhraním .NET Framework 4.5.1 nebo 4.5.2

Podrobnosti

Vzhledem k interním změnám typu ConcurrentDictionary<TKey,TValue> nelze objekty serializované pomocí rozhraní .NET Framework 4.5 pomocí System.Runtime.Serialization.NetDataContractSerializer deserializovat v rozhraní .NET Framework 4.5.1 nebo v rozhraní .NET Framework 4.5.2.Všimněte si, že přechod v opačném směru (serializace s rozhraním .NET Framework 4.5.x a deserializace s rozhraním .NET Framework 4.5) funguje. Podobně všechna serializace 4.x napříč verzemi funguje s rozhraním .NET Framework 4.6.Serializace a deserializace s jedinou verzí rozhraní .NET Framework není ovlivněna.

Návrh

Pokud je nutné serializovat a deserializovat System.Collections.Concurrent.ConcurrentDictionary<TKey,TValue> mezi rozhraním .NET Framework 4.5 a .NET Framework 4.5.1/4.5.2, měl by být použit jiný serializátor, například System.Runtime.Serialization.DataContractSerializer místo System.Runtime.Serialization.NetDataContractSerializer. Alternativně, protože tento problém je vyřešen v rozhraní .NET Framework 4.6, může být vyřešen upgradem na tuto verzi rozhraní .NET Framework.

Název Hodnota
Scope Nezletilý
Verze 4.5.1
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

AppDomainSetup.DynamicBase už není randomizován metodou UseRandomizedStringHashAlgorithm

Podrobnosti

Před rozhraním .NET Framework 4.6 by byla hodnota DynamicBase randomizována mezi doménami aplikace nebo mezi procesy, pokud byl v konfiguračním souboru aplikace povolen parametr UseRandomizedStringHashAlgorithm. Počínaje rozhraním .NET Framework 4.6 DynamicBase vrátí stabilní výsledek mezi různými instancemi spuštěné aplikace a mezi různými doménami aplikace. Dynamické základny se budou nadále lišit pro různé aplikace; tato změna odebere pouze náhodný prvek pojmenování pro různé instance stejné aplikace.

Návrh

Mějte na paměti, že povolení UseRandomizedStringHashAlgorithm nebude mít za DynamicBase následek randomizaci. Pokud je potřeba náhodný základ, musí se vytvořit v kódu vaší aplikace, nikoli prostřednictvím tohoto rozhraní API.

Název Hodnota
Scope Edge
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Volání Attribute.GetCustomAttributes u vlastnosti indexeru už nevyvolá AmbiguousMatchException, pokud lze nejednoznačnost vyřešit podle typu indexu.

Podrobnosti

Před rozhraním .NET Framework 4.6 by volání GetCustomAttribute(s) na vlastnost indexeru, která se liší od jiné vlastnosti pouze typem indexu, mělo za výsledek System.Reflection.AmbiguousMatchException. Počínaje rozhraním .NET Framework 4.6 se atributy vlastnosti vrátí správně.

Návrh

Mějte na paměti, že GetCustomAttribute(s) budou nyní fungovat častěji. Pokud se aplikace dříve spoléhala na System.Reflection.AmbiguousMatchException, nyní by se místo toho měla použít reflexe pro explicitní vyhledání více indexerů.

Název Hodnota
Scope Edge
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Profilátory neprovádějí enumeraci COR_PRF_GC_ROOT_HANDLEs.

Podrobnosti

V rozhraní .NET Framework v4.5.1 se rozhraní API RootReferences2() pro profilaci chybně nikdy nevrací COR_PRF_GC_ROOT_HANDLE (místo toho se chybně vrací jako COR_PRF_GC_ROOT_OTHER). Tento problém je opravený od rozhraní .NET Framework 4.6.

Návrh

Tento problém je opravený v rozhraní .NET Framework 4.6 a je možné ho vyřešit upgradem na tuto verzi rozhraní .NET Framework.

Název Hodnota
Scope Nezletilý
Verze 4.5.1
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

ETW EventListeners nezachytávají události od poskytovatelů s explicitními klíčovými slovy (jako je poskytovatel TPL).

Podrobnosti

Posluchače událostí ETW s prázdnou maskou klíčových slov nezachytávají správně události od poskytovatelů s explicitními klíčovými slovy. V rozhraní .NET Framework 4.5 začal poskytovatel TPL poskytovat explicitní klíčová slova a aktivoval tento problém. V rozhraní .NET Framework 4.6 byly EventListeners aktualizovány tak, aby už tento problém neměly.

Návrh

Chcete-li tento problém obejít, nahraďte volání EnableEvents(EventSource, EventLevel) voláním přetížení EnableEvents, které explicitně určuje masku „any keywords“, která se má použít: EnableEvents(eventSource, level, unchecked((EventKeywords)0xFFFFffffFFFFffff)).

Případně je tento problém opravený v rozhraní .NET Framework 4.6 a je možné ho vyřešit upgradem na tuto verzi rozhraní .NET Framework.

Název Hodnota
Scope Edge
Verze 4.5
Typ Provozní doba

Ovlivněná rozhraní API

Perský kalendář nyní používá sluneční algoritmus Hidžra

Podrobnosti

Počínaje rozhraním .NET Framework 4.6 používá System.Globalization.PersianCalendar třída sluneční algoritmus Hidžra. Převod kalendářních dat mezi System.Globalization.PersianCalendar a jinými kalendáři může od verze .NET Framework 4.6 produkovat mírně odlišné výsledky pro data před rokem 1800 nebo po roce 2023 (Gregoriánský). Také PersianCalendar.MinSupportedDateTime je nyní March 22, 0622 místo March 21, 0622.

Návrh

Mějte na paměti, že při použití perského kalendáře v rozhraní .NET Framework 4.6 se některá časná nebo pozdní data mohou mírně lišit. Při serializaci kalendářních dat mezi procesy, které se můžou spouštět v různých verzích rozhraní .NET Framework, je neukládejte jako řetězce kalendářních dat PerskýCalendar (protože tyto hodnoty mohou být odlišné).

Název Hodnota
Scope Nezletilý
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Objekty reflexe již nelze předávat ze spravovaného kódu do klientů DCOM mimo proces.

Podrobnosti

Objekty reflexe už nelze předávat ze spravovaného kódu do meziprocesových DCOM klientů. Ovlivněny jsou následující typy:

Volání pro objekt IMarshal se vrací E_NOINTERFACE.

Návrh

Aktualizujte marshalingový kód tak, aby fungoval s objekty bez reflexe.

Název Hodnota
Scope Nezletilý
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

TargetFrameworkName pro výchozí doménu aplikace již automaticky nenastaví na null, pokud není explicitně zadán.

Podrobnosti

Ve výchozí doméně aplikace bylo System.AppDomainSetup.TargetFrameworkName dříve nastaveno na null, pokud nebylo explicitně nastaveno jinak. Od verze 4.6 System.AppDomainSetup.TargetFrameworkName bude mít vlastnost výchozí domény aplikace výchozí hodnotu odvozenou od TargetFrameworkAttribute (pokud existuje). Jiné než výchozí domény aplikace budou nadále dědit svou konkrétní hodnotu System.AppDomainSetup.TargetFrameworkName z výchozí domény aplikace (která ve verzi 4.6 nebude mít za výchozí hodnotu null), pokud není explicitně přepsána.

Návrh

Kód by se měl aktualizovat tak, aby nezávisí na TargetFrameworkName výchozím nastavení null. Pokud je nutné, aby tato vlastnost nadále vyhodnocovala hodnotu null, může být explicitně nastavena na tuto hodnotu.

Název Hodnota
Scope Edge
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

X509Certificate2.ToString(Boolean) se teď nevyvolá, když .NET nemůže zpracovat certifikát

Podrobnosti

V rozhraní .NET Framework 4.5.2 a starších verzích by tato metoda vyvolá, pokud true byla předána pro podrobný parametr a byly nainstalovány certifikáty, které rozhraní .NET Framework nepodporuje. Teď bude metoda úspěšná a vrátí platný řetězec, který vynechá nepřístupné části certifikátu.

Návrh

Každý kód závislý na X509Certificate2.ToString(Boolean) by měl být aktualizován tak, aby očekával, že vrácený řetězec může v některých případech vyloučit některá data certifikátu (například veřejný klíč, privátní klíč a rozšíření), kdy by rozhraní API dříve vyvolalo chybu.

Název Hodnota
Scope Edge
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Údaje

Pokus o připojení TCP/IP k databázi SQL Serveru, která se překládá jako localhost neúspěšná

Podrobnosti

V rozhraní .NET Framework 4.6 a 4.6.1 se při pokusu o připojení TCP/IP k databázi SQL Serveru, která se vyřeší localhost, končí chybou: "Došlo k chybě související se sítí nebo specifickou instancí při navazování připojení k SQL Serveru." Server nebyl nalezen nebo nebyl přístupný. Ověřte, že je název instance správný a zda je SQL Server nakonfigurovaný tak, aby povoloval vzdálená připojení. (zprostředkovatel: Síťová rozhraní SQL, chyba: 26 – Chyba při zjišťování zadaného serveru nebo instance)"

Návrh

Tento problém byl vyřešen a předchozí chování obnovené v rozhraní .NET Framework 4.6.2. Pokud se chcete připojit k databázi SQL Serveru, která se vyhodnocuje na localhost, upgradujte na rozhraní .NET Framework 4.6.2.

Název Hodnota
Scope Nezletilý
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

Debugger

Hodnoty nulového coalesceru nejsou v ladicím programu viditelné až do jednoho kroku později.

Podrobnosti

Chyba v rozhraní .NET Framework 4.5 způsobí, že hodnoty nastavené prostřednictvím operace sloučování s hodnotou null nebudou viditelné v ladicím programu ihned po spuštění operace přiřazení při spuštění v 64bitové verzi rozhraní Framework.

Návrh

Při dalším krokování v ladicím programu se hodnota lokální proměnné/pole správně aktualizuje. Tento problém byl opraven také v rozhraní .NET Framework 4.6; tento problém by měl vyřešit upgradem na danou verzi rozhraní.

Název Hodnota
Scope Edge
Verze 4.5
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

Sítě

ContentDisposition DateTimes vrací mírně odlišný řetězec.

Podrobnosti

Řetězcové reprezentace System.Net.Mime.ContentDisposition byly aktualizovány od verze 4.6 tak, aby vždy představovaly hodinovou složku System.DateTime se dvěma číslicemi. To je v souladu s RFC822 a RFC2822. To způsobí, že ToString() vrátí mírně odlišný řetězec ve verzi 4.6 ve scénářích, kdy jeden z časových prvků nastavení byl před 10:00 dopoledne. Všimněte si, že někdy dochází k serializaci ContentDispositions převodem na řetězce, takže všechny operace ToString(), serializace nebo volání GetHashCode by se měly zkontrolovat.

Návrh

Neočekávejte, že řetězcové reprezentace ContentDispositions z různých verzí rozhraní .NET Framework se správně porovnávají s ostatními. Pokud je to možné, převeďte řetězce zpět na ContentDispositions před provedením porovnání.

Název Hodnota
Scope Nezletilý
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Serializace

Zpráva o výjimce se změnila pro neúspěšnou serializaci DataContract v případě neznámého typu

Podrobnosti

Počínaje rozhraním .NET Framework 4.6 byla zpráva o výjimce objasněna, pokud se serializace nebo deserializace System.Runtime.Serialization.DataContractSerializer nebo System.Runtime.Serialization.Json.DataContractJsonSerializer nezdaří kvůli chybějícím "známým typům".

Návrh

Aplikace by neměly záviset na konkrétních zprávách výjimek. Pokud aplikace závisí na této zprávě, buď ji aktualizujte, aby očekávala novou zprávu, nebo ji (pokud možno) změňte tak, aby závisela jenom na typu výjimky.

Název Hodnota
Scope Edge
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Nastavení a nasazení

Změny verzí produktu v rozhraní .NET Framework 4.6 a novějších verzích

Podrobnosti

Verzování produktu se změnilo oproti předchozím verzím rozhraní .NET Framework, a zejména oproti rozhraní .NET Framework 4, 4.5, 4.5.1 a 4.5.2. Následují podrobné změny:

  • Hodnota Version položky v HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full klíči se změnila na 4.6.xxxxx pro rozhraní .NET Framework 4.6 a jeho bodové verze a na 4.7.xxxxx .NET Framework 4.7 a 4.7.1. V rozhraní .NET Framework 4.5, 4.5.1 a 4.5.2 měl formát 4.5.xxxxx.
  • Verzování souborů a produktu pro soubory rozhraní .NET Framework se změnilo z dřívějšího schématu verzování 4.0.30319.x na 4.6.X.0 pro rozhraní .NET Framework 4.6 a jeho dílčí verze, a na 4.7.X.0 pro rozhraní .NET Framework 4.7 a 4.7.1. Tyto nové hodnoty můžete zobrazit při zobrazení vlastností souboru po kliknutí pravým tlačítkem myši na soubor.
  • Atributy AssemblyFileVersionAttribute a AssemblyInformationalVersionAttribute spravovaných sestavení mají hodnoty verze ve formátu 4.6.X.0 pro .NET Framework 4.6 a jeho dílčí verze, a 4.7.X.0 pro .NET Framework 4.7 a 4.7.1.
  • V rozhraní .NET Framework 4.6, 4.6.1, 4.6.2, 4.7 a 4.7.1 vrací vlastnost Environment.Version řetězec pevné verze 4.0.30319.42000. V rozhraní .NET Framework 4, 4.5, 4.5.1 a 4.5.2 vrátí řetězce verzí ve formátu 4.0.30319.xxxxx (například 4.0.30319.18010). Všimněte si, že nedoporučujeme kód aplikace, který přebírá novou závislost na vlastnosti Environment.Version.

Další informace naleznete v tématu Postupy: Určení, které verze rozhraní .NET Framework jsou nainstalovány.

Návrh

Obecně platí, že aplikace by měly záviset na doporučených technikách pro detekci takových věcí, jako je verze modulu runtime rozhraní .NET Framework a instalačního adresáře:

  • Pokud chcete zjistit verzi modulu runtime rozhraní .NET Framework, přečtěte si téma Postupy: Určení nainstalovaných verzí rozhraní .NET Framework.
  • Chcete-li určit instalační cestu pro rozhraní .NET Framework, použijte hodnotu InstallPath položky v klíči HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full .

Důležité

Název podklíče je NET Framework Setup, ne .NET Framework Setup.

  • Chcete-li určit cestu k adresáři rozhraní common language runtime .NET Framework, zavolejte metodu RuntimeEnvironment.GetRuntimeDirectory().
  • Pokud chcete získat verzi CLR, zavolejte metodu RuntimeEnvironment.GetSystemVersion() . Pro rozhraní .NET Framework 4 a jeho bodové verze (rozhraní .NET Framework 4.5, 4.5.1, 4.5.2 a .NET Framework 4.6, 4.6.1, 4.6.2, 4.7 a 4.7.1) vrátí řetězec v4.0.30319.
Název Hodnota
Scope Nezletilý
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

Rozhraní .NET Framework 4.6 při registraci v registru nepoužívá verzi 4.5.x.x.

Podrobnosti

Jak se dá očekávat, klíč verze nastavený v registru na HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full pro rozhraní .NET Framework 4.6 začíná '4.6', nikoli '4.5'. Aplikace, které závisí na těchto klíčích registru, aby věděly, které verze rozhraní .NET Framework jsou nainstalované na počítači, by se měly aktualizovat, aby pochopili, že verze 4.6 je nová možná verze a ta, která je kompatibilní s předchozími verzemi 4.5.x.

Návrh

Aplikace, které zjišťují instalaci rozhraní .NET Framework 4.5 vyhledáním klíčů registru 4.5, aktualizujte také tak, aby přijímaly verzi 4.6.

Název Hodnota
Scope Edge
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

WCF (Windows Communication Foundation)

Služby WCF, které používají NETTCP se zabezpečením SSL a ověřováním certifikátů MD5

Podrobnosti

Rozhraní .NET Framework 4.6 přidává protokol TLS 1.1 a TLS 1.2 do seznamu výchozích protokolů WCF SSL. Pokud mají klientské i serverové počítače nainstalované rozhraní .NET Framework 4.6 nebo novější, použije se pro vyjednávání protokol TLS 1.2. Protokol TLS 1.2 nepodporuje ověřování certifikátů MD5. V důsledku toho, pokud zákazník používá certifikát MD5, klient WCF se nepodaří připojit ke službě WCF.

Návrh

Tento problém můžete vyřešit tak, aby se klient WCF mohl připojit k serveru WCF provedením některého z následujících kroků:

  • Aktualizujte certifikát tak, aby nepoužít algoritmus MD5. Toto je doporučené řešení.
  • Pokud není vazba dynamicky nakonfigurovaná ve zdrojovém kódu, aktualizujte konfigurační soubor aplikace tak, aby používal protokol TLS 1.1 nebo starší verzi protokolu. Díky tomu můžete dál používat certifikát s algoritmem hash MD5.

Výstraha

Toto alternativní řešení se nedoporučuje, protože certifikát s hashovacím algoritmem MD5 se považuje za nezabezpečený.

Tento konfigurační soubor provede následující:

<configuration>
  <system.serviceModel>
    <bindings>
      <netTcpBinding>
        <binding>
          <security mode= "None/Transport/Message/TransportWithMessageCredential" >
            <transport clientCredentialType="None/Windows/Certificate"
                       protectionLevel="None/Sign/EncryptAndSign"
                       sslProtocols="Ssl3/Tls1/Tls11">
            </transport>
          </security>
        </binding>
      </netTcpBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

Výstraha

Toto alternativní řešení se nedoporučuje, protože certifikát s hashovacím algoritmem MD5 se považuje za nezabezpečený.

Název Hodnota
Scope Nezletilý
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

Windows Presentation Foundation (WPF)

Přístup k vybraným položkám WPF DataGridu z obslužné rutiny události DataGrid's UnloadingRow může způsobit nullReferenceException

Podrobnosti

Kvůli chybě v rozhraní .NET Framework 4.5 mohou obslužné rutiny událostí pro DataGrid události související s odebráním řádku způsobit vyvolání System.NullReferenceException, pokud přistupují k vlastnostem DataGrid, jako jsou System.Windows.Controls.Primitives.Selector.SelectedItem nebo System.Windows.Controls.Primitives.MultiSelector.SelectedItems.

Návrh

Tento problém je opravený v rozhraní .NET Framework 4.6 a je možné ho vyřešit upgradem na tuto verzi rozhraní .NET Framework.

Název Hodnota
Scope Nezletilý
Verze 4.5
Typ Provozní doba

Ovlivněná rozhraní API

Volání Items.Refresh ve WPF ListBox, ListView nebo DataGrid s vybranými položkami může způsobit, že se v elementu zobrazí duplicitní položky.

Podrobnosti

Ve verzi .NET Framework 4.5 může volání ListBox.Items.Refresh z kódu, zatímco jsou v System.Windows.Controls.ListBox vybrány položky, způsobit duplikování vybraných položek v seznamu. K podobnému problému dochází s System.Windows.Controls.ListView a System.Windows.Controls.DataGrid. Toto je opraveno v rozhraní .NET Framework 4.6.

Návrh

Tento problém může být vyřešen programovým zrušením výběru položek před System.Windows.Data.CollectionView.Refresh() voláním a jejich opětovným výběrem po dokončení hovoru. Případně je tento problém opravený v rozhraní .NET Framework 4.6 a je možné ho vyřešit upgradem na tuto verzi rozhraní .NET Framework.

Hodnota
Rozsah Nezletilý
Verze 4.5
Typ Provozní doba

Ovlivněná rozhraní API

VynutitJeVýběrovýBoxZvýrazněn

Podrobnosti

Určité posloupnosti akcí zahrnující System.Windows.Controls.ComboBox a jeho zdroj dat mohou mít za následek System.NullReferenceException.

Návrh

Pokud je to možné, upgradujte na rozhraní .NET Framework 4.6.2.

Název Hodnota
Scope Nezletilý
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Problém s vazbou ListBoxItem IsSelected u ObservableCollection<T>.Move

Podrobnosti

Volání Move(Int32, Int32) nebo MoveItem(Int32, Int32) na kolekci vázanou na System.Windows.Controls.ListBox s vybranými položkami může vést k nepravidelnému chování při budoucím výběru nebo odebrání výběru System.Windows.Controls.ListBox položek.

Návrh

Volání System.Collections.ObjectModel.Collection<T>.Remove(T) a System.Collections.ObjectModel.Collection<T>.Insert(Int32, T) místo Move(Int32, Int32) vyřeší tento problém. Případně je tento problém opravený v rozhraní .NET Framework 4.6 a je možné ho vyřešit upgradem na tuto verzi rozhraní .NET Framework.

Název Hodnota
Scope Nezletilý
Verze 4.5
Typ Provozní doba

Ovlivněná rozhraní API

Kliknutí pravým tlačítkem myši na záhlaví řádku WPF DataGrid změní výběr DataGridu.

Podrobnosti

Kliknutím pravým tlačítkem myši na záhlaví vybraného System.Windows.Controls.DataGrid řádku, zatímco je vybráno více řádků, se změní výběr System.Windows.Controls.DataGrid pouze na tento řádek.

Návrh

Tento problém je opravený v rozhraní .NET Framework 4.6 a je možné ho vyřešit upgradem na tuto verzi rozhraní .NET Framework.

Název Hodnota
Scope Edge
Verze 4.5
Typ Provozní doba

Ovlivněná rozhraní API

WPF vytvoří proces wisptis.exe, který může zaseknout myš.

Podrobnosti

Ve verzi 4.5.2 byl zaveden problém, který způsobuje wisptis.exe, že může zamrznout vstup myši.

Návrh

Oprava tohoto problému je k dispozici v servisní verzi rozhraní .NET Framework 4.5.2 (kumulativní oprava hotfix 3026376) nebo upgradem na rozhraní .NET Framework 4.6

Název Hodnota
Scope Hlavní
Verze 4.5.2
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

Kontrola pravopisu WPF v ovládacích prvcích s povoleným textem nebude ve Windows 10 fungovat pro jazyky, které nejsou v seznamu jazyků zadávání operačního systému.

Podrobnosti

Při spuštění ve Windows 10 nemusí kontrola pravopisu fungovat u ovládacích prvků s podporou textu WPF, protože funkce kontroly pravopisu platformy jsou dostupné jenom pro jazyky, které jsou přítomné v seznamu vstupních jazyků. Když se ve Windows 10 přidá jazyk do seznamu dostupných klávesnic, Systém Windows automaticky stáhne a nainstaluje odpovídající balíček funkce na vyžádání (FOD), který poskytuje funkce kontroly pravopisu. Přidáním jazyka do seznamu vstupních jazyků bude kontrola pravopisu podporována.

Návrh

Mějte na paměti, že jazyk nebo text, který se má kontrolovat pravopisem, musí být přidán jako vstupní jazyk, aby kontrola pravopisu fungovala ve Windows 10.

Název Hodnota
Scope Edge
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

Okna WPF se vykreslují bez výřezu při rozšíření mimo jeden monitor.

Podrobnosti

V rozhraní .NET Framework 4.6 spuštěném ve Windows 8 a novějším se zobrazí celé okno bez výřezu, když se rozšíří mimo jeden displej ve scénáři s více monitory. To se liší od předchozích verzí rozhraní .NET Framework, které by ořížily okna WPF, která se prodloužila nad rámec jednoho displeje.

Návrh

Toto chování (bez ohledu na to, jestli chcete klipovat nebo ne), je možné explicitně nastavit pomocí elementu <EnableMultiMonitorDisplayClipping> v <appSettings> konfiguračním souboru aplikace nebo nastavením EnableMultiMonitorDisplayClipping vlastnosti při spuštění aplikace.

Název Hodnota
Scope Nezletilý
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

.NET Framework 4.6.1

Nářadí

Contract.Invariant nebo Contract.Requires<TException> nepovažují String.IsNullOrEmpty za čistý

Podrobnosti

U aplikací, které cílí na rozhraní .NET Framework 4.6.1, pokud invariantní smlouva pro Contract.Invariant nebo předběžná podmínka pro Requires volá metodu String.IsNullOrEmpty, přepisovač vygeneruje upozornění kompilátoru CC1036: "Bylo zjištěno volání metody 'System.String.IsNullOrWhiteSpace(System.String)' bez [Pure] v metodě." Jedná se o upozornění kompilátoru, nikoli o chybu kompilátoru.

Návrh

Toto chování bylo vyřešeno v problému GitHubu č. 339. Pokud chcete toto upozornění odstranit, můžete si stáhnout a zkompilovat aktualizovanou verzi zdrojového kódu pro nástroj Code Contracts z GitHubu. Informace o stažení najdete v dolní části stránky.

Název Hodnota
Scope Nezletilý
Verze 4.6.1
Typ Provozní doba

Ovlivněná rozhraní API

Windows Presentation Foundation (WPF)

Posouvání plochého seznamu s položkami s jinou výškou pixelů

Podrobnosti

System.Windows.Controls.ItemsControl Když se zobrazí kolekce pomocí virtualizace (IsVirtualizing=true) a posouvání položek (ScrollUnit=Item) a když se ovládací prvek posune a zobrazí položku, jejíž výška v pixelech se liší od jejích sousedů, System.Windows.Controls.VirtualizingStackPanel postupně prochází všechny položky v kolekci. Uživatelské rozhraní během této iterace nereaguje. Iterace probíhá za jiných okolností, a to i v předchozích verzích rozhraní .NET Framework. Například při posouvání v pixelech (ScrollUnit=Pixel) při zobrazení položky s jinou výškou pixelu a při posouvání hierarchických dat (například System.Windows.Controls.TreeView nebo System.Windows.Controls.ItemsControl s povoleným seskupením) při výskytu položky s jiným počtem následnických položek, než jsou jeho sousedé. V případě posouvání položek a jiné výšky pixelů byla iterace zavedena v rozhraní .NET Framework 4.6.1, aby se opravily chyby v rozložení hierarchických dat. Není potřeba, pokud jsou data plochá (žádná hierarchie) a rozhraní .NET Framework 4.6.2 je v takovém případě neprovede.

Návrh

Pokud k iteraci dochází v rozhraní .NET Framework 4.6.1, ale ne v dřívějších verzích — to znamená, že System.Windows.Controls.ItemsControl prochází položky při posouvání plochého seznamu s položkami s různou výškou pixelů — existují dva nápravné prostředky:

  • Nainstalujte rozhraní .NET Framework 4.6.2.
  • Nainstalujte opravu hotfix HR 1605 pro rozhraní .NET Framework 4.6.1.
Název Hodnota
Scope Nezletilý
Verze 4.6.1
Typ Provozní doba

Ovlivněná rozhraní API

ObjectDisposedException vyvolaný kontrolou pravopisu WPF

Podrobnosti

Aplikace WPF se občas chybově ukončují během vypnutí aplikace s System.ObjectDisposedException vyvolaným kontrolou pravopisu. Tento problém je opravený v rozhraní .NET Framework 4.7 WPF tím, že řádně zpracovává výjimku, a tím zajišťuje, aby aplikace již nebyly nepříznivě ovlivněny. Je třeba poznamenat, že občasné výjimky s první šancí budou nadále pozorovány v aplikacích spuštěných v ladicím programu.

Návrh

Upgrade na rozhraní .NET Framework 4.7

Název Hodnota
Scope Edge
Verze 4.6.1
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

Kontrola pravopisu WPF selhává neočekávanými způsoby

Podrobnosti

To zahrnuje řadu problémů s kontrolou pravopisu WPF:

Návrh

Problém č. 1 – Tento problém je opravený v rozhraní .NET Framework 4.6.2 # 2 – Kontrola pravopisu WPF už není podporována při spuštění aplikací s použitím příkazu Spustit jako jiný uživatel. Počínaje rozhraním .NET Framework 4.6.2 aplikace spouštěné tímto způsobem již nebudou neočekávaně ukončeny - místo toho bude kontrola pravopisu tiše deaktivována. Problém č. 3 – Tento problém je opravený v rozhraní .NET Framework 4.6.2.

Název Hodnota
Scope Edge
Verze 4.6.1
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

.NET Framework 4.6.2

Údaje

Pokus o připojení TCP/IP k databázi SQL Serveru, která se překládá jako localhost neúspěšná

Podrobnosti

V rozhraní .NET Framework 4.6 a 4.6.1 se při pokusu o připojení TCP/IP k databázi SQL Serveru, která se vyřeší localhost, končí chybou: "Došlo k chybě související se sítí nebo specifickou instancí při navazování připojení k SQL Serveru." Server nebyl nalezen nebo nebyl přístupný. Ověřte, že je název instance správný a zda je SQL Server nakonfigurovaný tak, aby povoloval vzdálená připojení. (zprostředkovatel: Síťová rozhraní SQL, chyba: 26 – Chyba při zjišťování zadaného serveru nebo instance)"

Návrh

Tento problém byl vyřešen a předchozí chování obnovené v rozhraní .NET Framework 4.6.2. Pokud se chcete připojit k databázi SQL Serveru, která se vyhodnocuje na localhost, upgradujte na rozhraní .NET Framework 4.6.2.

Název Hodnota
Scope Nezletilý
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

Období blokování fondu připojení pro databáze Azure SQL se odebere.

Podrobnosti

Počínaje rozhraním .NET Framework 4.6.2 se pro žádosti o otevření připojení ke známým databázím Azure SQL (*.database.windows.net, *.database.chinacloudapi.cn, *.database.usgovcloudapi.net, *.database.cloudapi.de), období blokování fondu připojení odebere a chyby otevření připojení se neukládají do mezipaměti. Pokusy o opakování žádostí o otevření připojení budou probíhat téměř okamžitě po přechodných chybách připojení. Tato změna umožňuje okamžitě opakovat pokus o otevření připojení pro databáze Azure SQL, čímž se zlepší výkon aplikací s podporou cloudu. U všech ostatních pokusů o připojení se období blokování fondu připojení nadále vynucuje.

Pokud v rozhraní .NET Framework 4.6.1 a starších verzích dojde při připojování k databázi k přechodnému selhání připojení, pokus o připojení se nedá rychle opakovat, protože fond připojení uloží chybu do mezipaměti a znovu ji načítá po dobu 5 sekund až 1 minutu. Další informace najdete v tématu sdružování připojení SQL Serveru (ADO.NET). Toto chování je problematické pro připojení k databázím Azure SQL, které často selžou s přechodnými chybami, které se obvykle obnovují během několika sekund. Funkce blokování fondu připojení znamená, že se aplikace nemůže připojit k databázi po dlouhou dobu, i když je databáze dostupná a aplikace se musí vykreslit během několika sekund.

Návrh

Pokud je toto chování nežádoucí, můžete nakonfigurovat blokovací období poolu připojení nastavením vlastnosti System.Data.SqlClient.SqlConnectionStringBuilder.PoolBlockingPeriod, která byla zavedena v rozhraní .NET Framework 4.6.2. Hodnota vlastnosti je členem System.Data.SqlClient.PoolBlockingPeriod výčtu, který může mít některou ze tří hodnot:

Předchozí chování můžete obnovit nastavením vlastnosti System.Data.SqlClient.SqlConnectionStringBuilder.PoolBlockingPeriod na AlwaysBlock.

Název Hodnota
Scope Nezletilý
Verze 4.6.2
Typ Provozní doba

Ovlivněná rozhraní API

Globalizace

Podporované kategorie standardu Unicode verze 8.0

Podrobnosti

V rozhraní .NET Framework 4.6.2 se data Unicode upgradovala z Unicode Standard verze 6.3 na verzi 8.0. Při vyžádání kategorií znaků Unicode v rozhraní .NET Framework 4.6.2 nemusí některé výsledky odpovídat výsledkům v předchozích verzích rozhraní .NET Framework. Tato změna většinou ovlivňuje cherokeeské slabiky a samohlásky a značky tónu písma Nové Tai Lue.

Návrh

Zkontrolujte kód a odeberte nebo změňte logiku, která závisí na pevně zakódovaných kategoriích znaků Unicode.

Název Hodnota
Scope Nezletilý
Verze 4.6.2
Typ Provozní doba

Ovlivněná rozhraní API

Zabezpečení

RsACng a DSACng jsou opět použitelné ve scénářích částečné důvěryhodnosti.

Podrobnosti

CngLightup (používá se v několika kryptografických rozhraních vyšší úrovně, například System.Security.Cryptography.Xml.EncryptedXml) a System.Security.Cryptography.RSACng v některých případech spoléhá na plnou důvěru. Patří sem volání nespravovaného kódu SecurityPermissionFlag.UnmanagedCode bez uplatnění oprávnění a cesty kódu, kde System.Security.Cryptography.CngKey obsahuje požadavky na oprávnění SecurityPermissionFlag.UnmanagedCode. Počínaje rozhraním .NET Framework 4.6.2 byl použit CngLightup k přechodu na System.Security.Cryptography.RSACng kdekoliv to bylo možné. Výsledkem je, že aplikace s částečnou důvěryhodností, které úspěšně používaly System.Security.Cryptography.Xml.EncryptedXml, začaly selhávat a vyvolávat SecurityException výjimky. Tato změna přidává potřebné ověření, aby každá funkce používající CngLightup měla požadovaná oprávnění.

Návrh

Pokud tato změna v rozhraní .NET Framework 4.6.2 negativně ovlivnila vaše aplikace s částečnou důvěryhodností, upgradujte na rozhraní .NET Framework 4.7.1.

Název Hodnota
Scope Edge
Verze 4.6.2
Typ Provozní doba

Ovlivněná rozhraní API

RsACng.VerifyHash teď vrací hodnotu False pro případ selhání ověření.

Podrobnosti

Počínaje rozhraním .NET Framework 4.6.2 tato metoda vrátí hodnotu False , pokud je samotný podpis špatně formátován. Teď vrátí hodnotu false pro jakékoli selhání ověření. V rozhraní .NET Framework 4.6 a 4.6.1 vyvolá metoda System.Security.Cryptography.CryptographicException chybu, pokud je samotný podpis špatně formátován.

Návrh

Jakýkoli kód, jehož spuštění závisí na zpracování System.Security.Cryptography.CryptographicException by se mělo místo toho spustit, pokud ověření selže a metoda vrátí False.

Název Hodnota
Scope Nezletilý
Verze 4.6.2
Typ Provozní doba

Ovlivněná rozhraní API

SignedXml a EncryptedXml – Zásadní změny

Podrobnosti

V rozhraní .NET Framework 4.6.2 vedou opravy zabezpečení System.Security.Cryptography.Xml.SignedXml a System.Security.Cryptography.Xml.EncryptedXml k různým způsobům chování za běhu. Například:

  • Pokud má dokument více prvků se stejným id atributem a podpis cílí na jeden z těchto prvků jako kořen podpisu, bude dokument nyní považován za neplatný.
  • Dokumenty používající ne kanonické transformační algoritmy XPath v odkazech jsou nyní považovány za neplatné.
  • Dokumenty používající ne kanonické transformační algoritmy XSLT v odkazech se nyní považují za neplatné.
  • Žádný program využívající podpisy odpojené od externích zdrojů nebude schopen to provést.

Návrh

Vývojáři můžou chtít zkontrolovat použití XmlDsigXsltTransform a XmlDsigXsltTransform, stejně jako typy odvozené od Transform, protože příjemce dokumentu je možná nebude moct zpracovat.

Název Hodnota
Scope Nezletilý
Verze 4.6.2
Typ Provozní doba

Ovlivněná rozhraní API

WCF (Windows Communication Foundation)

Odebrání ssl3 ze služby WCF TransportDefaults

Podrobnosti

Pokud používáte NetTcp se zabezpečením přenosu a typem certifikátu přihlašovacích údajů, protokol SSL 3 už není výchozím protokolem používaným pro vyjednávání zabezpečeného připojení. Ve většině případů by nemělo mít žádný vliv na stávající aplikace, protože protokol TLS 1.0 byl vždy součástí seznamu protokolů pro NetTcp. Všichni stávající klienti by měli mít možnost vyjednat připojení s použitím alespoň protokolu TLS1.0.

Návrh

Pokud se vyžaduje ssl3, použijte jeden z následujících mechanismů konfigurace k přidání Ssl3 do seznamu vyjednaných protokolů.

Název Hodnota
Scope Edge
Verze 4.6.2
Typ Provozní doba

Ovlivněná rozhraní API

Windows Presentation Foundation (WPF)

Změna vlastnosti IsEnabled u nadřazeného ovládacího prvku TextBlock ovlivní všechny jeho podřízené ovládací prvky.

Podrobnosti

Počínaje rozhraním .NET Framework 4.6.2 má změna System.Windows.UIElement.IsEnabled vlastnosti nadřazeného System.Windows.Controls.TextBlock ovládacího prvku vliv na všechny podřízené ovládací prvky (například hypertextové odkazy a tlačítka) System.Windows.Controls.TextBlock ovládacího prvku. V rozhraní .NET Framework 4.6.1 a starších verzích ovládací prvky uvnitř System.Windows.Controls.TextBlock neodráží vždy stav System.Windows.UIElement.IsEnabled vlastnosti nadřazeného objektu System.Windows.Controls.TextBlock .

Návrh

Žádné. Tato změna odpovídá očekávanému chování ovládacích prvků uvnitř System.Windows.Controls.TextBlock ovládacího prvku.

Název Hodnota
Scope Nezletilý
Verze 4.6.2
Typ Provozní doba

Ovlivněná rozhraní API

VynutitJeVýběrovýBoxZvýrazněn

Podrobnosti

Určité posloupnosti akcí zahrnující System.Windows.Controls.ComboBox a jeho zdroj dat mohou mít za následek System.NullReferenceException.

Návrh

Pokud je to možné, upgradujte na rozhraní .NET Framework 4.6.2.

Název Hodnota
Scope Nezletilý
Verze 4.6
Typ Provozní doba

Ovlivněná rozhraní API

DataGridCellsPanel.BringIndexIntoView vyvolá ArgumentOutOfRangeException

Podrobnosti

ScrollIntoView(Object) bude fungovat asynchronně, pokud je povolená virtualizace sloupců, ale šířky sloupců ještě nebyly určeny. Pokud se sloupce odeberou před tím, než dojde k asynchronní práci, může dojít k System.ArgumentOutOfRangeException.

Návrh

Některou z následujících možností:

  • Upgradujte na rozhraní .NET Framework 4.7.
  • Nainstalujte nejnovější servisní opravu pro rozhraní .NET Framework 4.6.2.
  • Vyhněte se odebírání sloupců, dokud nebude asynchronní odpověď na ScrollIntoView(Object) dokončena.
Název Hodnota
Scope Edge
Verze 4.6.2
Typ Provozní doba

Ovlivněná rozhraní API

Vodorovné posouvání a virtualizace

Podrobnosti

Tato změna se vztahuje na System.Windows.Controls.ItemsControl, který virtualizuje ve směru kolmém k hlavnímu směru posouvání (hlavním příkladem je System.Windows.Controls.DataGrid s EnableColumnVirtualization="True"). Výsledek některých vodorovných operací posouvání byl změněn tak, aby vytvářel výsledky, které jsou intuitivnější a analogičtější k výsledkům srovnatelných vertikálních operací.

Operace zahrnují "Scroll Here" a "Right Edge", aby bylo možné použít názvy z nabídky získané kliknutím pravým tlačítkem myši na vodorovný posuvník. Obě tyto vypočítají kandidátský posun a zavolají SetHorizontalOffset(Double).

Po posunutí na nový offset se může změnit význam pojmů "zde" nebo "pravý okraj", protože nový devirtualizovaný obsah změnil hodnotu System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth.

Před rozhraním .NET Framework 4.6.2 operace posouvání prostě používá kandidátský offset, i když už nemusí být „tady“ nebo na „pravém okraji“. Výsledkem jsou efekty, jako je "poskakování" posuvníku palce, což je nejlépe ilustrováno příkladem. Předpokládejme, System.Windows.Controls.DataGrid že má ExtentWidth=1000 a Width=200. Posun k pravému okraji používá kandidátský posun 1000 – 200 = 800. Při posouvání na tuto pozici jsou nové sloupce de-virtualizovány; předpokládejme, že jsou velmi široké, takže System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth se změní na 2000. Posuvník končí s HorizontalOffset=800 a palec "odrazí" zpět blízko středu posuvníku - přesně na 800/2000 = 40%.

Změna spočívá v přepočítání nového kandidátního posunu, když dojde k této situaci, a zopakujte akci. (Takto už funguje svislé posouvání.)

Tato změna vytváří předvídatelnější a intuitivnější prostředí pro koncového uživatele, ale může to mít vliv také na libovolnou aplikaci, která závisí na přesné hodnotě System.Windows.Controls.Primitives.IScrollInfo.HorizontalOffset po vodorovném posouvání, ať už je vyvolána koncovým uživatelem nebo explicitním voláním SetHorizontalOffset(Double).

Návrh

Aplikace, která používá předpokládanou hodnotu System.Windows.Controls.Primitives.IScrollInfo.HorizontalOffset, by měla být změněna tak, aby po libovolném horizontálním posunu, který může změnit System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth v důsledku devirtualizace, načítala skutečnou hodnotu a hodnotu System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth.

Název Hodnota
Scope Nezletilý
Verze 4.6.2
Typ Provozní doba

Ovlivněná rozhraní API

Items.Clear neodstraňuje duplicitní položky z vybraných položek

Podrobnosti

Předpokládejme, že selektor (s povoleným vícenásobným výběrem) má v System.Windows.Controls.Primitives.MultiSelector.SelectedItems kolekci duplicitní položky – stejná položka se zobrazí více než jednou. Odebrání těchto položek ze zdroje dat (např. voláním Items.Clear) je neodebere z System.Windows.Controls.Primitives.MultiSelector.SelectedItems; odebere se pouze první instance. Kromě toho může následné použití System.Windows.Controls.Primitives.MultiSelector.SelectedItems (např. SelectedItems.Clear()) narazit na problémy, jako System.ArgumentExceptionje například , protože System.Windows.Controls.Primitives.MultiSelector.SelectedItems obsahuje položky, které již nejsou ve zdroji dat.

Návrh

Pokud je to možné, upgradujte na rozhraní .NET Framework 4.6.2.

Název Hodnota
Scope Nezletilý
Verze 4.5
Typ Provozní doba

Ovlivněná rozhraní API

Posouvání plochého seznamu s položkami s jinou výškou pixelů

Podrobnosti

System.Windows.Controls.ItemsControl Když se zobrazí kolekce pomocí virtualizace (IsVirtualizing=true) a posouvání položek (ScrollUnit=Item) a když se ovládací prvek posune a zobrazí položku, jejíž výška v pixelech se liší od jejích sousedů, System.Windows.Controls.VirtualizingStackPanel postupně prochází všechny položky v kolekci. Uživatelské rozhraní během této iterace nereaguje. Iterace probíhá za jiných okolností, a to i v předchozích verzích rozhraní .NET Framework. Například při posouvání v pixelech (ScrollUnit=Pixel) při zobrazení položky s jinou výškou pixelu a při posouvání hierarchických dat (například System.Windows.Controls.TreeView nebo System.Windows.Controls.ItemsControl s povoleným seskupením) při výskytu položky s jiným počtem následnických položek, než jsou jeho sousedé. V případě posouvání položek a jiné výšky pixelů byla iterace zavedena v rozhraní .NET Framework 4.6.1, aby se opravily chyby v rozložení hierarchických dat. Není potřeba, pokud jsou data plochá (žádná hierarchie) a rozhraní .NET Framework 4.6.2 je v takovém případě neprovede.

Návrh

Pokud k iteraci dochází v rozhraní .NET Framework 4.6.1, ale ne v dřívějších verzích — to znamená, že System.Windows.Controls.ItemsControl prochází položky při posouvání plochého seznamu s položkami s různou výškou pixelů — existují dva nápravné prostředky:

  • Nainstalujte rozhraní .NET Framework 4.6.2.
  • Nainstalujte opravu hotfix HR 1605 pro rozhraní .NET Framework 4.6.1.
Název Hodnota
Scope Nezletilý
Verze 4.6.1
Typ Provozní doba

Ovlivněná rozhraní API

Pozadí RibbonGroup je nastavené na transparentní v lokalizovaných buildech.

Podrobnosti

System.Windows.Controls.Ribbon.RibbonGroup pozadí lokalizovaných buildů bylo vždy malováno průhledným štětcem, což vedlo k špatnému uživatelskému rozhraní. Tato oprava je opravena v rozhraní .NET Framework 4.7 WPF aktualizací lokalizovaných prostředků System.Windows.Controls.Ribbon.RibbonGroup, což zase zajišťuje, že je vybrán správný štětec.

Návrh

Upgrade na rozhraní .NET Framework 4.7

Název Hodnota
Scope Edge
Verze 4.6.2
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.

Kontrola pravopisu WPF selhává neočekávanými způsoby

Podrobnosti

To zahrnuje řadu problémů s kontrolou pravopisu WPF:

Návrh

Problém č. 1 – Tento problém je opravený v rozhraní .NET Framework 4.6.2 # 2 – Kontrola pravopisu WPF už není podporována při spuštění aplikací s použitím příkazu Spustit jako jiný uživatel. Počínaje rozhraním .NET Framework 4.6.2 aplikace spouštěné tímto způsobem již nebudou neočekávaně ukončeny - místo toho bude kontrola pravopisu tiše deaktivována. Problém č. 3 – Tento problém je opravený v rozhraní .NET Framework 4.6.2.

Název Hodnota
Scope Edge
Verze 4.6.1
Typ Provozní doba

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.