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

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

Detaily

Chyba v rozhraní .NET Framework 4.5 způsobí System.Web.UI.WebControls.GridView.PageIndexChanging , že se někdy neaktivuje pro System.Web.UI.WebControls.GridViewpovolené 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.

Jméno Hodnota
Obor Vedlejší
Verze 4.5
Typ Šablona běhového prostředí

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

Detaily

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, jako System.Runtime.Serialization.DataContractSerializerSystem.Runtime.Serialization.NetDataContractSerializerje například . 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.

Jméno Hodnota
Obor Vedlejší
Verze 4.5.1
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

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

Detaily

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.

Jméno Hodnota
Obor Edge
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

Detaily

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, by výsledkem System.Reflection.AmbiguousMatchExceptionbyla . 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 aplikaci System.Reflection.AmbiguousMatchException, měla by se teď reflexe použít k explicitnímu vyhledání více indexerů.

Jméno Hodnota
Obor Edge
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

COR_PRF_GC_ROOT_HANDLEs profilátory nevyčtou

Detaily

V rozhraní .NET Framework v4.5.1 se rozhraní API RootReferences2() pro profilaci nikdy nevrací COR_PRF_GC_ROOT_HANDLE (vrátí se jako COR_PRF_GC_ROOT_OTHER místo toho). 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.

Jméno Hodnota
Obor Vedlejší
Verze 4.5.1
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

EventListeners pro Windows nezachytává události od poskytovatelů s explicitními klíčovými slovy (jako je zprostředkovatel TPL).

Detaily

EventListeners pro Windows s prázdnou maskou klíčového slova nezachytává správně události od zprostředkovatelů 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 události 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í enableEvents přetížení, 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.

Jméno Hodnota
Obor Edge
Verze 4.5
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

Detaily

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 kalendáři a jinými kalendáři může způsobit mírně odlišný výsledek začínající rozhraním .NET Framework 4.6 pro kalendářní data starší než 1800 nebo novější než 2023 (Gregoriánský). PersianCalendar.MinSupportedDateTime A teď March 22, 0622 je to 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é).

Jméno Hodnota
Obor Vedlejší
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Reflexe objekty už nelze předávat ze spravovaného kódu do klientů modelu DCOM mimo proces.

Detaily

Reflexe objekty již nelze předávat ze spravovaného kódu do klientů modelu DCOM mimo proces. Ovlivněny jsou následující typy:

Volání pro IMarshal vrácení E_NOINTERFACEobjektu .

Návrh

Aktualizujte zařazování kódu tak, aby fungoval s objekty bez odrazu.

Jméno Hodnota
Obor Vedlejší
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

TargetFrameworkName pro výchozí doménu aplikace se už nenastaví na hodnotu null.

Detaily

Ve System.AppDomainSetup.TargetFrameworkName výchozí doméně aplikace byla dříve null, pokud nebyla explicitně nastavena. 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 dál dědit z System.AppDomainSetup.TargetFrameworkName výchozí domény aplikace (která ve verzi 4.6 nebude výchozí hodnota null), pokud se explicitně nepřepíše.

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.

Jméno Hodnota
Obor Edge
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

Detaily

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 v závislosti na X509Certificate2.ToString(Boolean) tom by měl být aktualizován tak, aby očekával, že vrácený řetězec může vyloučit některá data certifikátu (například veřejný klíč, privátní klíč a rozšíření) v některých případech, kdy by rozhraní API dříve vyvoláno.

Jméno Hodnota
Obor Edge
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Data

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

Detaily

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 selháním s chybou" Došlo k chybě související se sítí nebo instancí při navazování připojení k SQL Serveru. Server se nenašel nebo nebyl dostupný. Ověřte správnost názvu instance. Dále ověřte, jestli 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 překládá na localhost, upgradujte na rozhraní .NET Framework 4.6.2.

Jméno Hodnota
Obor Vedlejší
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

Ladicí program

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

Detaily

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

Krokování jednoho dalšího kroku v ladicím programu způsobí, že se hodnota místního 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í.

Jméno Hodnota
Obor Edge
Verze 4.5
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

Sítě

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

Detaily

Řetězcové reprezentace 's byly aktualizovány System.Net.Mime.ContentDispositionpočínaje číslem 4,6, aby vždy představovaly hodinovou komponentu System.DateTime se dvěma číslicemi. To je v souladu s RFC822 a RFC2822. To způsobí ToString() vrácení mírně odlišného řetězce ve verzi 4.6 ve scénářích, kdy jeden z časových prvků dispozice byl před 10:00. Všimněte si, že ContentDispositions jsou někdy serializovány prostřednictvím převodu na řetězce, takže všechny ToString() operace, serializace nebo GetHashCode volání 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. Před provedením porovnání převeďte řetězce zpět na ContentDispositions.

Jméno Hodnota
Obor Vedlejší
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Serializace

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

Detaily

Počínaje rozhraním .NET Framework 4.6 byla vysvětlena zpráva o výjimce, pokud System.Runtime.Serialization.DataContractSerializer se serializace nebo System.Runtime.Serialization.Json.DataContractJsonSerializer deserializaci 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.

Jméno Hodnota
Obor Edge
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Nastavení a nasazení

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

Detaily

Správa verzí produktu se změnila z předchozích verzí rozhraní .NET Framework a zejména z 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.
  • Soubor a správa verzí produktu pro soubory rozhraní .NET Framework se změnily z dřívějšího schématu správy verzí 4.0.30319.x na 4.6.X.0 pro rozhraní .NET Framework 4.6 a jeho verze bodů 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.
  • AssemblyInformationalVersionAttribute Atributy AssemblyFileVersionAttribute spravovaných sestavení mají hodnoty verze ve formátu 4.6.X.0 pro rozhraní .NET Framework 4.6 a jeho bodové verze a 4.7.X.0 pro rozhraní .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 Environment.Version vrátí vlastnost řetězec 4.0.30319.42000pevné verze . 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 modulu clr .NET Framework common language runtime, 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.
Jméno Hodnota
Obor Vedlejší
Verze 4.6
Typ Šablona běhového prostředí

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.

Detaily

Jak můžete očekávat, klíč verze nastavený v registru (at HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full) pro rozhraní .NET Framework 4.6 začíná řetězcem 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

Aktualizace aplikací pro instalaci rozhraní .NET Framework 4.5 vyhledáním klíčů registru 4.5 přijměte také verzi 4.6.

Jméno Hodnota
Obor Edge
Verze 4.6
Typ Šablona běhového prostředí

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

Detaily

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.

Upozorňující

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>

Upozorňující

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

Jméno Hodnota
Obor Vedlejší
Verze 4.6
Typ Šablona běhového prostředí

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

Detaily

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

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.

Jméno Hodnota
Obor Vedlejší
Verze 4.5
Typ Šablona běhového prostředí

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.

Detaily

Volání ListBox.Items.Refresh z kódu System.Windows.Controls.ListBox v rozhraní .NET Framework 4.5 může 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
Scope Vedlejší
Verze 4.5
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

CoerceIsSelectionBoxHighlighted

Detaily

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

Návrh

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

Jméno Hodnota
Obor Vedlejší
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Problém s vazbou ListBoxItem IsSelected u observableCollection<T> Přesunout

Detaily

Volání Move(Int32, Int32) nebo MoveItem(Int32, Int32) v kolekci vázané na System.Windows.Controls.ListBox vybrané položky může vést k erratickému chování s budoucím výběrem nebo zrušením 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) toho by se tento problém vyřešil. 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.

Jméno Hodnota
Obor Vedlejší
Verze 4.5
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

Detaily

Kliknutí 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 System.Windows.Controls.DataGridvýběr změní jenom 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.

Jméno Hodnota
Obor Edge
Verze 4.5
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

Detaily

Ve verzi 4.5.2 jsme zavedli problém, který způsobuje wisptis.exe , že se může ukotvit 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

Jméno Hodnota
Obor Hlavní verze
Verze 4.5.2
Typ Šablona běhového prostředí

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.

Detaily

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.

Jméno Hodnota
Obor Edge
Verze 4.6
Typ Šablona běhového prostředí

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.

Detaily

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.

Jméno Hodnota
Obor Vedlejší
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

.NET Framework 4.6.1

Nástroje

Contract.Invariant nebo Contract.Requires<TException> nebere v úvahu String.IsNullOrEmpty být čistý

Detaily

U aplikací, které cílí na rozhraní .NET Framework 4.6.1, pokud invariantní kontrakt pro Contract.Invariant volání metody nebo předběžná smlouva pro Requires volání String.IsNullOrEmpty metody, autor vygeneruje upozornění kompilátoru CC1036: "Zjištěné 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.

Jméno Hodnota
Obor Vedlejší
Verze 4.6.1
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Windows Presentation Foundation (WPF)

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

Detaily

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 jeho sousedů, System.Windows.Controls.VirtualizingStackPanel iteruje 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 pokud se jedná o System.Windows.Controls.ItemsControl položku – posouvání plochého seznamu s položkami s jinou 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.
Jméno Hodnota
Obor Vedlejší
Verze 4.6.1
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

ObjectDisposedException vyvolaný wpF spellchecker

Detaily

Aplikace WPF se občas chybově ukončují během vypnutí aplikace s System.ObjectDisposedException vyvoláním 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

Jméno Hodnota
Obor Edge
Verze 4.6.1
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

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

Detaily

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. Spuštění rozhraní .NET Framework 4.6.2, aplikace spouštěné tímto způsobem už nebudou neočekávaně chybově ukončeny – místo toho bude kontrola pravopisu bezobslužná. Problém č. 3 – Tento problém je opravený v rozhraní .NET Framework 4.6.2.

Jméno Hodnota
Obor Edge
Verze 4.6.1
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

.NET Framework 4.6.2

Data

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

Detaily

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 selháním s chybou" Došlo k chybě související se sítí nebo instancí při navazování připojení k SQL Serveru. Server se nenašel nebo nebyl dostupný. Ověřte správnost názvu instance. Dále ověřte, jestli 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 překládá na localhost, upgradujte na rozhraní .NET Framework 4.6.2.

Jméno Hodnota
Obor Vedlejší
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

Připojení období blokování fondu pro databáze Azure SQL se odebere.

Detaily

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é opakování otevřeného pokusu o 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 vyvolá po dobu 5 sekund až 1 minutu. Další informace naleznete v tématu SQL Server Připojení sdružování (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í, blokující období fondu připojení lze nakonfigurovat nastavením System.Data.SqlClient.SqlConnectionStringBuilder.PoolBlockingPeriod vlastnosti zavedené v rozhraní .NET Framework 4.6.2. Hodnota vlastnosti je členem výčtu System.Data.SqlClient.PoolBlockingPeriod , který může mít jednu ze tří hodnot:

Předchozí chování lze obnovit nastavením System.Data.SqlClient.SqlConnectionStringBuilder.PoolBlockingPeriod vlastnosti na AlwaysBlockhodnotu .

Jméno Hodnota
Obor Vedlejší
Verze 4.6.2
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Globalizace

Podporované kategorie standardu Unicode verze 8.0

Detaily

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 slabiky Cherokee a nové tai luské samohlásky a značky tónu.

Návrh

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

Jméno Hodnota
Obor Vedlejší
Verze 4.6.2
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Zabezpečení

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

Detaily

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 SecurityPermissionFlag.UnmanagedCode kódu bez uplatnění oprávnění a cesty kódu s System.Security.Cryptography.CngKey požadavky na oprávnění .SecurityPermissionFlag.UnmanagedCode Počínaje rozhraním .NET Framework 4.6.2 byl CngLightup použit k přechodu na System.Security.Cryptography.RSACng místo, kde je to možné. Výsledkem je, že aplikace s částečnou důvěryhodností, které se úspěšně použily System.Security.Cryptography.Xml.EncryptedXml , začaly selhat a vyvolat SecurityException výjimky. Tato změna přidá požadované kontrolní výrazy, aby všechny funkce používající CngLightup měly 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.

Jméno Hodnota
Obor Edge
Verze 4.6.2
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

Detaily

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.

Jméno Hodnota
Obor Vedlejší
Verze 4.6.2
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Změny způsobující chybu SignedXml a EncryptedXml

Detaily

V rozhraní .NET Framework 4.6.2 opravy System.Security.Cryptography.Xml.SignedXml zabezpečení a System.Security.Cryptography.Xml.EncryptedXml vedou k různým chováním za běhu. Pří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é.
  • Jakýkoli program, který využívá podpisy odpojené externím prostředkem, to nebude moct udělat.

Návrh

Vývojáři můžou chtít zkontrolovat použití XmlDsigXsltTransform a XmlDsigXsltTransforma také typy odvozené od Transform toho, že příjemce dokumentu ho nebude moct zpracovat.

Jméno Hodnota
Obor Vedlejší
Verze 4.6.2
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

WCF (Windows Communication Foundation)

Odebrání ssl3 ze služby WCF TransportDefaults

Detaily

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ů.

Jméno Hodnota
Obor Edge
Verze 4.6.2
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Windows Presentation Foundation (WPF)

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

Detaily

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

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

Jméno Hodnota
Obor Vedlejší
Verze 4.6.2
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

CoerceIsSelectionBoxHighlighted

Detaily

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

Návrh

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

Jméno Hodnota
Obor Vedlejší
Verze 4.6
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

DataGridCellsPanel.BringIndexIntoView vyvolá ArgumentOutOfRangeException

Detaily

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

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 se nedokončila asynchronní odpověď ScrollIntoView(Object) .
Jméno Hodnota
Obor Edge
Verze 4.6.2
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Vodorovné posouvání a virtualizace

Detaily

Tato změna se vztahuje na System.Windows.Controls.ItemsControl vlastní virtualizaci ve směru ortogonálního směru pro hlavní posouvání (hlavní příklad 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. Oba tyto výpočty kandidáta posunu a volání SetHorizontalOffset(Double).

Po posouvání na nový posun se může změnit pojem "zde" nebo "pravý okraj", protože nově de-virtualizovaný obsah změnil hodnotu System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth.

Před rozhraním .NET Framework 4.6.2 operace posouvání jednoduše použije kandidátské posuny, i když už nemusí být "tady" nebo na pravém okraji. Výsledkem jsou efekty, jako je "bouncing" palce posuvníku, nejlépe ilustrovaný 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é posuny 1000 – 200 = 800. Při posouvání na tento posun jsou nové sloupce de-virtualizovány; Předpokládejme, že jsou velmi široké, aby System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth se změny na 2000 změnily. Posouvání končí horizontalOffset=800 a palec "odrazí" zpět doprostřed posuvníku - přesně na 800/2000 = 40 %.

Změna spočívá v opětovném dokončování nového kandidáta posunu, když dojde k této situaci, a akci opakujte. (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ředpovězenou hodnotu, System.Windows.Controls.Primitives.IScrollInfo.HorizontalOffset by se měla změnit tak, aby načítá skutečnou hodnotu (a hodnotu System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth) po libovolném vodorovném posunu, který by se mohl změnit System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth kvůli dei virtualizaci.

Jméno Hodnota
Obor Vedlejší
Verze 4.6.2
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

Items.Clear neodebere duplicity z SelectedItems

Detaily

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 System.Windows.Controls.Primitives.MultiSelector.SelectedItemsneodebere . 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.

Jméno Hodnota
Obor Vedlejší
Verze 4.5
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

Detaily

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 jeho sousedů, System.Windows.Controls.VirtualizingStackPanel iteruje 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 pokud se jedná o System.Windows.Controls.ItemsControl položku – posouvání plochého seznamu s položkami s jinou 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.
Jméno Hodnota
Obor Vedlejší
Verze 4.6.1
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

Detaily

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

Jméno Hodnota
Obor Edge
Verze 4.6.2
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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

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

Detaily

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. Spuštění rozhraní .NET Framework 4.6.2, aplikace spouštěné tímto způsobem už nebudou neočekávaně chybově ukončeny – místo toho bude kontrola pravopisu bezobslužná. Problém č. 3 – Tento problém je opravený v rozhraní .NET Framework 4.6.2.

Jméno Hodnota
Obor Edge
Verze 4.6.1
Typ Šablona běhového prostředí

Ovlivněná rozhraní API

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