Runtimewijzigingen voor migratie naar .NET Framework 4.6.x

Dit artikel bevat de compatibiliteitsproblemen met apps die zijn geïntroduceerd in .NET Framework 4.6, 4.6.1 en 4.6.2.

.NET framework 4.6

ASP.NET

GridViews met AllowCustomPaging ingesteld op True kan de gebeurtenis PageIndexChanging activeren wanneer u de laatste pagina van de weergave verlaat

DETAILS

Een fout in .NET Framework 4.5 veroorzaakt soms System.Web.UI.WebControls.GridView.PageIndexChanging geen brand voor System.Web.UI.WebControls.GridViews die zijn ingeschakeld System.Web.UI.WebControls.GridView.AllowCustomPaging.

Suggestie

Dit probleem is opgelost in .NET Framework 4.6 en kan worden opgelost door een upgrade uit te voeren naar die versie van .NET Framework. Als een tijdelijke oplossing kan de app een expliciete BindGrid uitvoeren op elke Page_Load voorwaarde die deze voorwaarden bereikt (het System.Web.UI.WebControls.GridView is op de laatste pagina en LastSystem.Web.UI.WebControls.GridView.PageSize is anders dan System.Web.UI.WebControls.GridView.PageSize). De app kan ook worden gewijzigd om paging toe te staan (in plaats van aangepaste paging), omdat dit scenario het probleem niet laat zien.

Naam Weergegeven als
Bereik Secundair
Versie 4.5
Type Runtime

Betrokken API's

Basis

Een gelijktijdigedictionaire geserialiseerde .NET Framework 4.5 met NetDataContractSerializer kan niet worden gedeserialiseerd door .NET Framework 4.5.1 of 4.5.2

DETAILS

Als gevolg van interne wijzigingen in het type, ConcurrentDictionary<TKey,TValue> kunnen objecten die met .NET Framework 4.5 worden geserialiseerd met de System.Runtime.Serialization.NetDataContractSerializer .NET Framework 4.5.1 of in .NET Framework 4.5.2. Houd er rekening mee dat het verplaatsen in de andere richting (serialiseren met .NET Framework 4.5.x en het deserialiseren met .NET Framework 4.5) werkt. Op dezelfde manier werkt alle serialisatie van 4.x-versies met .NET Framework 4.6.Serialiseren en deserialiseren met één versie van .NET Framework niet.

Suggestie

Als het nodig is om een System.Collections.Concurrent.ConcurrentDictionary<TKey,TValue> tussen .NET Framework 4.5 en .NET Framework 4.5.1/4.5.2 te serialiseren en deserialiseren, moet een andere serialisatie worden gebruikt in plaats van de System.Runtime.Serialization.DataContractSerializerSystem.Runtime.Serialization.NetDataContractSerializer. Omdat dit probleem ook wordt opgelost in .NET Framework 4.6, kan het worden opgelost door een upgrade uit te voeren naar die versie van .NET Framework.

Naam Weergegeven als
Bereik Secundair
Versie 4.5.1
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

AppDomainSetup.DynamicBase wordt niet langer gerandomiseerd door UseRandomizedStringHashAlgorithm

DETAILS

Vóór .NET Framework 4.6 zou de waarde worden DynamicBase gerandomiseerd tussen toepassingsdomeinen of tussen processen als UseRandomizedStringHashAlgorithm is ingeschakeld in het configuratiebestand van de app. Vanaf .NET Framework 4.6 DynamicBase wordt een stabiel resultaat geretourneerd tussen verschillende exemplaren van een app die wordt uitgevoerd en tussen verschillende app-domeinen. Dynamische bases verschillen nog steeds voor verschillende apps; met deze wijziging wordt alleen het willekeurige naamgevingselement voor verschillende exemplaren van dezelfde app verwijderd.

Suggestie

Houd er rekening mee dat het inschakelen UseRandomizedStringHashAlgorithm niet resulteert in DynamicBase willekeurige volgorde. Als er een willekeurige basis nodig is, moet deze worden geproduceerd in de code van uw app in plaats van via deze API.

Naam Weergegeven als
Bereik Edge
Versie 4.6
Type Runtime

Betrokken API's

Het aanroepen van Attribute.GetCustomAttributes op een indexeereigenschap genereert ambiguousMatchException niet meer als de dubbelzinnigheid kan worden opgelost door het type index

DETAILS

Vóór .NET Framework 4.6 zou het aanroepen GetCustomAttribute(s) van een indexeerfunctie-eigenschap die alleen verschilt van een andere eigenschap door het type van de index resulteren in een System.Reflection.AmbiguousMatchException. Vanaf .NET Framework 4.6 worden de kenmerken van de eigenschap correct geretourneerd.

Suggestie

Houd er rekening mee dat GetCustomAttribute(s) nu vaker zullen werken. Als een app eerder op de System.Reflection.AmbiguousMatchExceptionapp was gebaseerd, moet reflectie nu worden gebruikt om expliciet te zoeken naar meerdere indexeerfuncties.

Naam Weergegeven als
Bereik Edge
Versie 4.6
Type Runtime

Betrokken API's

COR_PRF_GC_ROOT_HANDLEs worden niet geïnventariseerd door profilers

DETAILS

In .NET Framework v4.5.1 retourneert de profilerings-API RootReferences2() nooit ten onrechte COR_PRF_GC_ROOT_HANDLE (ze worden geretourneerd zoals COR_PRF_GC_ROOT_OTHER in plaats daarvan). Dit probleem is opgelost vanaf .NET Framework 4.6.

Suggestie

Dit probleem is opgelost in .NET Framework 4.6 en kan worden opgelost door een upgrade uit te voeren naar die versie van .NET Framework.

Naam Weergegeven als
Bereik Secundair
Versie 4.5.1
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

ETW EventListeners leggen geen gebeurtenissen vast van providers met expliciete trefwoorden (zoals de TPL-provider)

DETAILS

ETW EventListeners met een leeg trefwoordmasker leggen gebeurtenissen van providers met expliciete trefwoorden niet goed vast. In .NET Framework 4.5 begon de TPL-provider expliciete trefwoorden op te geven en dit probleem te activeren. In .NET Framework 4.6 zijn EventListeners bijgewerkt om dit probleem niet meer te hebben.

Suggestie

U kunt dit probleem omzeilen door aanroepen te EnableEvents(EventSource, EventLevel) vervangen door aanroepen naar de overbelasting van EnableEvents die expliciet het "eventuele trefwoorden" masker specificeert dat moet worden gebruikt: EnableEvents(eventSource, level, unchecked((EventKeywords)0xFFFFffffFFFFffff)).

U kunt dit probleem ook oplossen in .NET Framework 4.6 en kan worden opgelost door een upgrade uit te voeren naar die versie van .NET Framework.

Naam Weergegeven als
Bereik Edge
Versie 4.5
Type Runtime

Betrokken API's

Perzische kalender gebruikt nu het Hijri-zonnealgoritme

DETAILS

Vanaf .NET Framework 4.6 maakt de System.Globalization.PersianCalendar klasse gebruik van het Hijri-zonnealgoritme. Het converteren van datums tussen de System.Globalization.PersianCalendar en andere kalenders kan een iets ander resultaat opleveren dat begint met .NET Framework 4.6 voor datums ouder dan 1800 of hoger dan 2023 (Gregoriaanse). PersianCalendar.MinSupportedDateTime Is nu ook March 22, 0622 in plaats van March 21, 0622.

Suggestie

Houd er rekening mee dat sommige vroege of late datums iets anders kunnen zijn bij het gebruik van de PerzischeCalendar in .NET Framework 4.6. Wanneer u datums serialiseert tussen processen die kunnen worden uitgevoerd op verschillende .NET Framework-versies, slaat u deze niet op als Perzische datumtekenreeksen (omdat deze waarden mogelijk verschillen).

Naam Weergegeven als
Bereik Secundair
Versie 4.6
Type Runtime

Betrokken API's

Weerspiegelingsobjecten kunnen niet meer worden doorgegeven van beheerde code naar out-of-process DCOM-clients

DETAILS

Weerspiegelingsobjecten kunnen niet meer worden doorgegeven vanuit beheerde code naar out-of-process DCOM-clients. De volgende typen worden beïnvloed:

Aanroepen voor IMarshal het retourneren E_NOINTERFACEvan het object.

Suggestie

Werk marshaling-code bij om te werken met niet-weerspiegelingsobjecten.

Naam Weergegeven als
Bereik Secundair
Versie 4.6
Type Runtime

Betrokken API's

TargetFrameworkName voor standaard-app-domein wordt niet meer standaard ingesteld op null als deze niet is ingesteld

DETAILS

De System.AppDomainSetup.TargetFrameworkName waarde was eerder null in het standaard-app-domein, tenzij dit expliciet is ingesteld. Vanaf 4.6 heeft de System.AppDomainSetup.TargetFrameworkName eigenschap voor het standaard-app-domein een standaardwaarde die is afgeleid van TargetFrameworkAttribute (indien aanwezig). Niet-standaard-app-domeinen blijven hun System.AppDomainSetup.TargetFrameworkName overnemen van het standaard-app-domein (dat niet standaard null is in 4.6), tenzij deze expliciet wordt overschreven.

Suggestie

Code moet worden bijgewerkt zodat deze niet afhankelijk is van TargetFrameworkName de standaardinstelling voor null. Als deze eigenschap moet blijven evalueren op null, kan deze expliciet worden ingesteld op die waarde.

Naam Weergegeven als
Bereik Edge
Versie 4.6
Type Runtime

Betrokken API's

X509Certificate2.ToString(Booleaanse waarde) genereert nu niet wanneer .NET het certificaat niet kan verwerken

DETAILS

In .NET Framework 4.5.2 en eerdere versies zou deze methode worden uitgevoerd als true deze is doorgegeven voor de uitgebreide parameter en er certificaten zijn geïnstalleerd die niet worden ondersteund door .NET Framework. De methode slaagt en retourneert nu een geldige tekenreeks die de niet-toegankelijke gedeelten van het certificaat weglaat.

Suggestie

Elke code, afhankelijk X509Certificate2.ToString(Boolean) van, moet worden bijgewerkt om te verwachten dat de geretourneerde tekenreeks bepaalde certificaatgegevens (zoals openbare sleutel, persoonlijke sleutel en extensies) in sommige gevallen kan uitsluiten waarin de API eerder zou zijn gegenereerd.

Naam Weergegeven als
Bereik Edge
Versie 4.6
Type Runtime

Betrokken API's

Gegevens

Poging tot een TCP/IP-verbinding met een SQL Server-database die localhost mislukt

DETAILS

In .NET Framework 4.6 en 4.6.1 probeert u een TCP/IP-verbinding met een SQL Server-database uit te localhost voeren die mislukt met de fout: 'Er is een netwerkgerelateerde of exemplaarspecifieke fout opgetreden tijdens het tot stand brengen van een verbinding met SQL Server. De server wordt niet gevonden of toegang tot de server is niet mogelijk. Controleer of de exemplaarnaam correct is en of in de instellingen van SQL Server externe verbindingen zijn toegestaan. (provider: SQL-netwerkinterfaces, fout: 26 - Fout bij het zoeken naar server/exemplaar opgegeven)"

Suggestie

Dit probleem is opgelost en het vorige gedrag is hersteld in .NET Framework 4.6.2. Als u verbinding wilt maken met een SQL Server-database die wordt omgezet localhost, voert u een upgrade uit naar .NET Framework 4.6.2.

Naam Weergegeven als
Bereik Secundair
Versie 4.6
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

Debugger

Null-coalescer-waarden zijn pas in het foutopsporingsprogramma zichtbaar tot één stap later

DETAILS

Een fout in .NET Framework 4.5 zorgt ervoor dat waarden die zijn ingesteld via een null-samenvoegende bewerking niet zichtbaar zijn in het foutopsporingsprogramma direct nadat de toewijzingsbewerking is uitgevoerd bij uitvoering op de 64-bits versie van het Framework.

Suggestie

Als u een extra keer in het foutopsporingsprogramma stapt, wordt de waarde van het lokale/veld correct bijgewerkt. Dit probleem is ook opgelost in .NET Framework 4.6; Upgraden naar die versie van het framework moet het probleem oplossen.

Naam Weergegeven als
Bereik Edge
Versie 4.5
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

Netwerken

ContentDisposition DateTimes retourneert iets andere tekenreeks

DETAILS

Tekenreeksweergaven van System.Net.Mime.ContentDisposition's zijn bijgewerkt, vanaf 4,6, om altijd het uurgedeelte van een System.DateTime met twee cijfers weer te geven. Dit is om te voldoen aan RFC822 en RFC2822. Dit zorgt ervoor ToString() dat een iets andere tekenreeks in 4,6 wordt geretourneerd in scenario's waarin een van de tijdelementen van de verwijdering vóór 10:00 uur lag. ContentDispositions worden soms geserialiseerd via het converteren ervan naar tekenreeksen, zodat alle ToString() bewerkingen, serialisatie of GetHashCode-aanroepen moeten worden gecontroleerd.

Suggestie

Verwacht niet dat tekenreeksweergaven van ContentDispositions van verschillende .NET Framework-versies correct met elkaar worden vergeleken. Converteer de tekenreeksen zo mogelijk terug naar ContentDispositions voordat u een vergelijking uitvoert.

Naam Weergegeven als
Bereik Secundair
Versie 4.6
Type Runtime

Betrokken API's

Serialization

Uitzonderingsbericht is gewijzigd voor mislukte Serialisatie van DataContract in het geval van een onbekend type

DETAILS

Vanaf .NET Framework 4.6 wordt het uitzonderingsbericht weergegeven als een System.Runtime.Serialization.DataContractSerializer of System.Runtime.Serialization.Json.DataContractJsonSerializer niet serialiseren of deserialiseren vanwege ontbrekende 'bekende typen' is verduidelijkt.

Suggestie

Apps mogen niet afhankelijk zijn van specifieke uitzonderingsberichten. Als een app afhankelijk is van dit bericht, moet u het bericht bijwerken om het nieuwe bericht te verwachten of (bij voorkeur) wijzigen zodat deze alleen afhankelijk is van het uitzonderingstype.

Naam Weergegeven als
Bereik Edge
Versie 4.6
Type Runtime

Betrokken API's

Installatie en implementatie

Wijzigingen in productversies in .NET Framework 4.6 en latere versies

DETAILS

Productversiebeheer is gewijzigd ten opzichte van de vorige versies van .NET Framework, met name van .NET Framework 4, 4.5, 4.5.1 en 4.5.2. Hieronder ziet u de gedetailleerde wijzigingen:

  • De waarde van de Version vermelding in de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full sleutel is gewijzigd 4.6.xxxxx in voor .NET Framework 4.6 en de puntreleases en voor 4.7.xxxxx .NET Framework 4.7 en 4.7.1. In .NET Framework 4.5, 4.5.1 en 4.5.2 had het de indeling 4.5.xxxxx.
  • Het bestand en productversiebeheer voor .NET Framework-bestanden zijn gewijzigd van het eerdere versiebeheerschema van 4.0.30319.x in 4.6.X.0 voor .NET Framework 4.6 en de bijbehorende puntreleases, en tot 4.7.X.0 voor .NET Framework 4.7 en 4.7.1. U kunt deze nieuwe waarden zien wanneer u de eigenschappen van het bestand bekijkt nadat u met de rechtermuisknop op een bestand hebt geklikt.
  • De AssemblyFileVersionAttribute en AssemblyInformationalVersionAttribute kenmerken voor beheerde assembly's hebben versiewaarden in de vorm 4.6.X.0 voor .NET Framework 4.6 en de puntreleases en 4.7.X.0 voor .NET Framework 4.7 en 4.7.1.
  • In .NET Framework 4.6, 4.6.1, 4.6.2, 4.7 en 4.7.1 retourneert de Environment.Version eigenschap de vaste versietekenreeks 4.0.30319.42000. In .NET Framework 4, 4.5, 4.5.1 en 4.5.2 worden versietekenreeksen in de indeling 4.0.30319.xxxxx geretourneerd (bijvoorbeeld '4.0.30319.18010'). Houd er rekening mee dat we toepassingscode niet aanraden om een nieuwe afhankelijkheid te maken van de eigenschap Environment.Version.

Zie Voor meer informatie: Bepalen welke .NET Framework-versies zijn geïnstalleerd.

Suggestie

Over het algemeen moeten toepassingen afhankelijk zijn van de aanbevolen technieken voor het detecteren van zaken zoals de runtimeversie van .NET Framework en de installatiemap:

Belangrijk

De naam van de subsleutel is NET Framework Setup, niet .NET Framework Setup.

  • Roep de methode aan om het mappad naar de algemene taalruntime RuntimeEnvironment.GetRuntimeDirectory() van .NET Framework te bepalen.
  • Als u de CLR-versie wilt ophalen, roept u de RuntimeEnvironment.GetSystemVersion() methode aan. Voor .NET Framework 4 en de puntreleases (.NET Framework 4.5, 4.5.1, 4.5.2 en .NET Framework 4.6, 4.6.1, 4.6.2, 4.7 en 4.7.1), wordt de tekenreeks v4.0.30319 geretourneerd.
Naam Weergegeven als
Bereik Secundair
Versie 4.6
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

.NET Framework 4.6 gebruikt geen 4.5.x.x-versie bij het registreren in het register

DETAILS

Zoals u kunt verwachten, begint de versiesleutel die is ingesteld in het register (op HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full) voor .NET Framework 4.6 met '4.6', niet '4.5'. Apps die afhankelijk zijn van deze registersleutels om te weten welke .NET Framework-versies op een computer zijn geïnstalleerd, moeten worden bijgewerkt om te begrijpen dat 4.6 een nieuwe mogelijke versie is en een versie die compatibel is met eerdere versies van 4.5.x.

Suggestie

Werk apps bij die zoeken naar een .NET Framework 4.5-installatie door te zoeken naar 4.5-registersleutels om ook 4.6 te accepteren.

Naam Weergegeven als
Bereik Edge
Versie 4.6
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

Windows Communication Foundation (WCF)

WCF-services die GEBRUIKMAKEN van NETTCP met SSL-beveiliging en MD5-certificaatverificatie

DETAILS

Met .NET Framework 4.6 worden TLS 1.1 en TLS 1.2 toegevoegd aan de standaardprotocollijst van WCF SSL. Wanneer zowel client- als servercomputers .NET Framework 4.6 of hoger hebben geïnstalleerd, wordt TLS 1.2 gebruikt voor onderhandeling. TLS 1.2 biedt geen ondersteuning voor MD5-certificaatverificatie. Als een klant een MD5-certificaat gebruikt, kan de WCF-client geen verbinding maken met de WCF-service.

Suggestie

U kunt dit probleem omzeilen, zodat een WCF-client verbinding kan maken met een WCF-server door een van de volgende handelingen uit te voeren:

  • Werk het certificaat bij om het MD5-algoritme niet te gebruiken. Dit is de aanbevolen oplossing.
  • Als de binding niet dynamisch is geconfigureerd in de broncode, werkt u het configuratiebestand van de toepassing bij om TLS 1.1 of een eerdere versie van het protocol te gebruiken. Hiermee kunt u een certificaat blijven gebruiken met het MD5-hash-algoritme.

Waarschuwing

Deze tijdelijke oplossing wordt niet aanbevolen, omdat een certificaat met het MD5-hash-algoritme als onveilig wordt beschouwd.

Dit doet het volgende configuratiebestand:

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

Waarschuwing

Deze tijdelijke oplossing wordt niet aanbevolen, omdat een certificaat met het MD5-hash-algoritme als onveilig wordt beschouwd.

Naam Weergegeven als
Bereik Secundair
Versie 4.6
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

Windows Presentation Foundation (WPF)

Het openen van de geselecteerde items van een WPF DataGrid vanuit een handler van de event LossRow van DataGrid kan een NullReferenceException veroorzaken

DETAILS

Vanwege een fout in .NET Framework 4.5 kunnen gebeurtenis-handlers voor DataGrid gebeurtenissen die betrekking hebben op het verwijderen van een rij ertoe leiden dat een System.NullReferenceException rij wordt gegenereerd als ze toegang hebben tot de DataGrid's System.Windows.Controls.Primitives.Selector.SelectedItem of System.Windows.Controls.Primitives.MultiSelector.SelectedItems eigenschappen'.

Suggestie

Dit probleem is opgelost in .NET Framework 4.6 en kan worden opgelost door een upgrade uit te voeren naar die versie van .NET Framework.

Naam Weergegeven als
Bereik Secundair
Versie 4.5
Type Runtime

Betrokken API's

Items aanroepen.Vernieuwen op een WPF-keuzelijst, ListView of DataGrid met geselecteerde items kan ertoe leiden dat dubbele items worden weergegeven in het element

DETAILS

In .NET Framework 4.5 kan het aanroepen van ListBox.Items.Refresh vanuit code terwijl items zijn geselecteerd in een System.Windows.Controls.ListBox code ertoe leiden dat de geselecteerde items in de lijst worden gedupliceerd. Er treedt een vergelijkbaar probleem op met System.Windows.Controls.ListView en System.Windows.Controls.DataGrid. Dit is opgelost in .NET Framework 4.6.

Suggestie

Dit probleem kan worden opgelost door programmatisch de selectie van items op te heffen voordat System.Windows.Data.CollectionView.Refresh() deze wordt aangeroepen en deze vervolgens opnieuw te selecteren nadat de aanroep is voltooid. U kunt dit probleem ook oplossen in .NET Framework 4.6 en kan worden opgelost door een upgrade uit te voeren naar die versie van .NET Framework.

Weergegeven als
Scope Secundair
Versie 4.5
Type Runtime

Betrokken API's

CoerceIsSelectionBoxHighlighted

DETAILS

Bepaalde reeksen acties met betrekking tot een System.Windows.Controls.ComboBox en de bijbehorende gegevensbron kunnen resulteren in een System.NullReferenceException.

Suggestie

Voer indien mogelijk een upgrade uit naar .NET Framework 4.6.2.

Naam Weergegeven als
Bereik Secundair
Versie 4.6
Type Runtime

Betrokken API's

ListBoxItem IsSelected-bindingsprobleem met ObservableCollection<T>. Verplaatsen

DETAILS

Het aanroepen Move(Int32, Int32) of MoveItem(Int32, Int32) opheffen van een verzameling die is gebonden aan een System.Windows.Controls.ListBox verzameling met geselecteerde items kan leiden tot onregelmatig gedrag met toekomstige selectie of het opheffen van de selectie van System.Windows.Controls.ListBox items.

Suggestie

Bellen System.Collections.ObjectModel.Collection<T>.Remove(T) en System.Collections.ObjectModel.Collection<T>.Insert(Int32, T) in plaats van Move(Int32, Int32) dit probleem omzeilen. U kunt dit probleem ook oplossen in .NET Framework 4.6 en kan worden opgelost door een upgrade uit te voeren naar die versie van .NET Framework.

Naam Weergegeven als
Bereik Secundair
Versie 4.5
Type Runtime

Betrokken API's

Als u met de rechtermuisknop op een WPF DataGrid-rijkop klikt, wordt de DataGrid-selectie gewijzigd

DETAILS

Als u met de rechtermuisknop op een geselecteerde System.Windows.Controls.DataGrid rijkop klikt terwijl er meerdere rijen zijn geselecteerd, wordt de System.Windows.Controls.DataGridselectie gewijzigd in alleen die rij.

Suggestie

Dit probleem is opgelost in .NET Framework 4.6 en kan worden opgelost door een upgrade uit te voeren naar die versie van .NET Framework.

Naam Weergegeven als
Bereik Edge
Versie 4.5
Type Runtime

Betrokken API's

WPF spawt een wisptis.exe proces dat de muis kan blokkeren

DETAILS

Er is een probleem geïntroduceerd in 4.5.2 dat ervoor zorgt dat de wisptis.exe muisinvoer kan worden geblokkeerd.

Suggestie

Een oplossing voor dit probleem is beschikbaar in een onderhoudsrelease van .NET Framework 4.5.2 (hotfixpakket 3026376) of door een upgrade uit te voeren naar .NET Framework 4.6

Naam Weergegeven als
Bereik Primair
Versie 4.5.2
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

WPF-spellingcontrole in besturingselementen voor tekst werkt niet in Windows 10 voor talen die niet in de invoertaallijst van het besturingssysteem worden vermeld

DETAILS

Wanneer de spellingcontrole wordt uitgevoerd in Windows 10, werkt de spellingcontrole mogelijk niet voor WPF-besturingselementen voor tekst, omdat platform spellingcontrolemogelijkheden alleen beschikbaar zijn voor talen die aanwezig zijn in de lijst met invoertalen. Wanneer in Windows 10 een taal wordt toegevoegd aan de lijst met beschikbare toetsenborden, downloadt en installeert Windows automatisch een bijbehorend FOD-pakket (Feature on Demand) dat spellingcontrolemogelijkheden biedt. Door de taal toe te voegen aan de lijst met invoertalen, wordt de spellingcontrole ondersteund.

Suggestie

Houd er rekening mee dat de taal of tekst die moet worden gecontroleerd, moet worden toegevoegd als invoertaal voor spellingcontrole in Windows 10.

Naam Weergegeven als
Bereik Edge
Versie 4.6
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

WPF-vensters worden zonder uitknipsel weergegeven wanneer ze buiten één monitor worden uitgebreid

DETAILS

In .NET Framework 4.6 dat wordt uitgevoerd in Windows 8 en hoger, wordt het hele venster zonder uitknipsel weergegeven wanneer het buiten één beeldscherm in een scenario met meerdere beeldschermen wordt weergegeven. Dit verschilt van eerdere versies van .NET Framework die WPF-vensters zouden knippen die verder gingen dan één beeldscherm.

Suggestie

Dit gedrag (of u nu clipt of niet) kunt u expliciet instellen met behulp van het element in <appSettings> het <EnableMultiMonitorDisplayClipping> configuratiebestand van een toepassing of door de eigenschap in te stellen bij het opstarten van de EnableMultiMonitorDisplayClipping app.

Naam Weergegeven als
Bereik Secundair
Versie 4.6
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

.NET Framework 4.6.1

Hulpprogramma's

Contract.Invariant of Contract.Requires<TException> do not consider String.IsNullOrEmpty to be pure

DETAILS

Voor apps die gericht zijn op .NET Framework 4.6.1, als het invariante contract voor Contract.Invariant of het voorwaardecontract voor Requires het aanroepen van de String.IsNullOrEmpty methode wordt uitgevoerd, verzendt de rewriter compilerwaarschuwing CC1036: 'Detected call to method 'System.String.IsNullOrWhiteSpace(System.String)' zonder [Pure] in de methode. Dit is een compilerwaarschuwing in plaats van een compilerfout.

Suggestie

Dit gedrag is opgelost in GitHub-probleem 339. Als u deze waarschuwing wilt elimineren, kunt u een bijgewerkte versie van de broncode voor het hulpprogramma Code Contracts downloaden en compileren vanuit GitHub. Downloadgegevens vindt u onderaan de pagina.

Naam Weergegeven als
Bereik Secundair
Versie 4.6.1
Type Runtime

Betrokken API's

Windows Presentation Foundation (WPF)

Een platte lijst met items met verschillende pixelhoogtes schuiven

DETAILS

Wanneer een System.Windows.Controls.ItemsControl verzameling wordt weergegeven met behulp van virtualisatie (IsVirtualizing=true) en item-scrolling (ScrollUnit=Item), en wanneer het besturingselement schuift om een item weer te geven waarvan de hoogte in pixels verschilt van de aangrenzende items, worden alle System.Windows.Controls.VirtualizingStackPanel items in de verzameling herhaald. De gebruikersinterface reageert niet tijdens deze iteratie. De iteratie vindt plaats in andere omstandigheden, zelfs in eerdere .NET Framework-releases. Dit gebeurt bijvoorbeeld wanneer pixel scrollen (ScrollUnit=Pixel) bij het tegenkomen van een item met een andere pixelhoogte en wanneer item hiërarchische gegevens (zoals een System.Windows.Controls.TreeView of een System.Windows.Controls.ItemsControl groeperen is ingeschakeld) bij het tegenkomen van een item met een ander aantal onderliggende items dan de aangrenzende items. Voor het geval van item scrollen en verschillende pixelhoogte is de iteratie geïntroduceerd in .NET Framework 4.6.1 om fouten in de indeling van hiërarchische gegevens op te lossen. Het is niet nodig als de gegevens plat zijn (geen hiërarchie) en .NET Framework 4.6.2 doet dit in dat geval niet.

Suggestie

Als de iteratie plaatsvindt in .NET Framework 4.6.1, maar niet in eerdere versies, dat wil zeggen, als het System.Windows.Controls.ItemsControl item is, door een platte lijst schuiven met items met een andere pixelhoogte, zijn er twee oplossingen:

  • Installeer .NET Framework 4.6.2.
  • Installeer hotfix HR 1605 voor .NET Framework 4.6.1.
Naam Weergegeven als
Bereik Secundair
Versie 4.6.1
Type Runtime

Betrokken API's

ObjectDisposedException gegenereerd door WPF-spellingcontrole

DETAILS

WPF-toepassingen lopen af en toe vast tijdens het afsluiten van de toepassing met een System.ObjectDisposedException door de spellingcontrole gegenereerde spellingcontrole. Dit is opgelost in .NET Framework 4.7 WPF door de uitzondering correct te verwerken en zo ervoor te zorgen dat toepassingen niet langer nadelig worden beïnvloed. Er moet worden opgemerkt dat incidentele uitzonderingen van de eerste kans nog steeds worden waargenomen in toepassingen die worden uitgevoerd onder een foutopsporingsprogramma.

Suggestie

Upgrade uitvoeren naar .NET Framework 4.7

Naam Weergegeven als
Bereik Edge
Versie 4.6.1
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

WPF-spellingcontrole mislukt op onverwachte manieren

DETAILS

Dit omvat een aantal WPF-problemen met spellingcontrole:

Suggestie

Probleem 1- Dit is opgelost in .NET Framework 4.6.2 Probleem #2 - WPF-spellingcontrole wordt niet meer ondersteund wanneer toepassingen worden gestart met 'uitvoeren als een andere gebruiker'. Vanaf .NET Framework 4.6.2 worden toepassingen die op deze manier worden gestart, niet meer onverwacht vastgelopen. In plaats daarvan wordt de spellingcontrole op de achtergrond uitgeschakeld. Probleem 3: dit is opgelost in .NET Framework 4.6.2.

Naam Weergegeven als
Bereik Edge
Versie 4.6.1
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

.NET Framework 4.6.2

Gegevens

Poging tot een TCP/IP-verbinding met een SQL Server-database die localhost mislukt

DETAILS

In .NET Framework 4.6 en 4.6.1 probeert u een TCP/IP-verbinding met een SQL Server-database uit te localhost voeren die mislukt met de fout: 'Er is een netwerkgerelateerde of exemplaarspecifieke fout opgetreden tijdens het tot stand brengen van een verbinding met SQL Server. De server wordt niet gevonden of toegang tot de server is niet mogelijk. Controleer of de exemplaarnaam correct is en of in de instellingen van SQL Server externe verbindingen zijn toegestaan. (provider: SQL-netwerkinterfaces, fout: 26 - Fout bij het zoeken naar server/exemplaar opgegeven)"

Suggestie

Dit probleem is opgelost en het vorige gedrag is hersteld in .NET Framework 4.6.2. Als u verbinding wilt maken met een SQL Server-database die wordt omgezet localhost, voert u een upgrade uit naar .NET Framework 4.6.2.

Naam Weergegeven als
Bereik Secundair
Versie 4.6
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

blokkerende periode voor Verbinding maken ionpool voor Azure SQL-databases wordt verwijderd

DETAILS

Vanaf .NET Framework 4.6.2 worden geopende verbindingsaanvragen naar bekende Azure SQL-databases (*.database.windows.net, *.database.chinacloudapi.cn, *.database.usgovcloudapi.net, *.database.cloudapi.de), de blokkerende periode voor de verbindingsgroep verwijderd en worden open verbindingsfouten niet in de cache opgeslagen. Pogingen om open aanvragen voor verbindingen opnieuw uit te voeren, treden bijna onmiddellijk na tijdelijke verbindingsfouten op. Met deze wijziging kan de poging om verbinding te openen onmiddellijk opnieuw worden geprobeerd voor Azure SQL-databases, waardoor de prestaties van apps in de cloud worden verbeterd. Voor alle andere verbindingspogingen wordt de blokkerende periode van de verbindingsgroep nog steeds afgedwongen.

In .NET Framework 4.6.1 en eerdere versies, wanneer een app een tijdelijke verbindingsfout tegenkomt bij het maken van verbinding met een database, kan de verbindingspoging niet snel opnieuw worden geprobeerd, omdat de verbindingsgroep de fout in de cache opspoelt en deze gedurende 5 seconden tot 1 minuut opnieuw genereert. Zie SQL Server Verbinding maken ion Pooling (ADO.NET) voor meer informatie. Dit gedrag is problematisch voor verbindingen met Azure SQL-databases, die vaak mislukken met tijdelijke fouten die doorgaans binnen een paar seconden worden hersteld. De blokkerende functie van de verbindingsgroep betekent dat de app gedurende een lange periode geen verbinding kan maken met de database, ook al is de database beschikbaar en moet de app binnen een paar seconden worden weergegeven.

Suggestie

Als dit gedrag ongewenst is, kan de blokkerende periode van de verbindingsgroep worden geconfigureerd door de System.Data.SqlClient.SqlConnectionStringBuilder.PoolBlockingPeriod eigenschap in te stellen die is geïntroduceerd in .NET Framework 4.6.2. De waarde van de eigenschap is lid van de System.Data.SqlClient.PoolBlockingPeriod opsomming die een van de drie waarden kan aannemen:

Het vorige gedrag kan worden hersteld door de System.Data.SqlClient.SqlConnectionStringBuilder.PoolBlockingPeriod eigenschap in te stellen op AlwaysBlock.

Naam Weergegeven als
Bereik Secundair
Versie 4.6.2
Type Runtime

Betrokken API's

Globalisatie

Unicode-standaardversie 8.0-categorieën worden nu ondersteund

DETAILS

In .NET Framework 4.6.2 zijn Unicode-gegevens bijgewerkt van Unicode Standard versie 6.3 naar versie 8.0. Bij het aanvragen van Unicode-tekencategorieën in .NET Framework 4.6.2 komen sommige resultaten mogelijk niet overeen met de resultaten in eerdere .NET Framework-versies. Deze verandering is voornamelijk van invloed op Cherokee lettergrepen en New Tai Lue klinkers tekenen en toonmarkeringen.

Suggestie

Controleer code en verwijder-/wijzigingslogica die afhankelijk is van in code vastgelegde Unicode-tekencategorieën.

Naam Weergegeven als
Bereik Secundair
Versie 4.6.2
Type Runtime

Betrokken API's

Beveiliging

RSACng en DSACng zijn opnieuw bruikbaar in gedeeltelijke vertrouwensscenario's

DETAILS

CngLightup (gebruikt in verschillende crypto-API's op een hoger niveau, zoals System.Security.Cryptography.Xml.EncryptedXml) en System.Security.Cryptography.RSACng in sommige gevallen vertrouwen op volledig vertrouwen. Deze omvatten P/Invokes zonder machtigingen te SecurityPermissionFlag.UnmanagedCode bevestigen, en codepaden waarvoor System.Security.Cryptography.CngKey machtigingen zijn vereist SecurityPermissionFlag.UnmanagedCode. Vanaf .NET Framework 4.6.2 werd CngLightup gebruikt om waar mogelijk over te schakelen naar System.Security.Cryptography.RSACng waar mogelijk. Als gevolg hiervan zijn gedeeltelijke vertrouwensapps die zijn gebruikt System.Security.Cryptography.Xml.EncryptedXml , begonnen te mislukken en uitzonderingen te genereren SecurityException . Met deze wijziging worden de vereiste asserties toegevoegd, zodat alle functies die CngLightup gebruiken, over de vereiste machtigingen beschikken.

Suggestie

Als deze wijziging in .NET Framework 4.6.2 uw gedeeltelijke vertrouwensapps negatief heeft beïnvloed, voert u een upgrade uit naar .NET Framework 4.7.1.

Naam Weergegeven als
Bereik Edge
Versie 4.6.2
Type Runtime

Betrokken API's

RSACng.VerifyHash retourneert nu False voor een verificatiefout

DETAILS

Vanaf .NET Framework 4.6.2 retourneert deze methode False als de handtekening zelf onjuist is opgemaakt. Het retourneert nu onwaar voor een verificatiefout. In .NET Framework 4.6 en 4.6.1 genereert de methode een System.Security.Cryptography.CryptographicException als de handtekening zelf slecht is opgemaakt.

Suggestie

Elke code waarvan de uitvoering afhankelijk is van de System.Security.Cryptography.CryptographicException verwerking, moet in plaats daarvan worden uitgevoerd als de validatie mislukt en de methode False retourneert.

Naam Weergegeven als
Bereik Secundair
Versie 4.6.2
Type Runtime

Betrokken API's

Wijzigingen die fouten veroorzaken in SignedXml en EncryptedXml

DETAILS

In .NET Framework 4.6.2 worden beveiligingscorrecties uitgevoerd System.Security.Cryptography.Xml.SignedXml en System.Security.Cryptography.Xml.EncryptedXml leiden ze tot verschillende runtime-gedragingen. Voorbeeld:

  • Als een document meerdere elementen met hetzelfde id kenmerk heeft en een handtekening is gericht op een van deze elementen als de hoofdmap van de handtekening, wordt het document nu als ongeldig beschouwd.
  • Documenten die niet-canonieke XPath-transformatiealgoritmen in verwijzingen gebruiken, worden nu als ongeldig beschouwd.
  • Documenten met niet-canonieke XSLT-transformatiealgoritmen in verwijzingen worden nu ongeldig gezien.
  • Elk programma dat gebruikmaakt van externe handtekeningen voor losgekoppelde resources, kan dit niet doen.

Suggestie

Ontwikkelaars willen mogelijk het gebruik van XmlDsigXsltTransform en XmlDsigXsltTransformtypen bekijken die zijn afgeleid van Transform , omdat een documentontvanger dit mogelijk niet kan verwerken.

Naam Weergegeven als
Bereik Secundair
Versie 4.6.2
Type Runtime

Betrokken API's

Windows Communication Foundation (WCF)

Ssl3 verwijderen uit de WCF TransportDefaults

DETAILS

Wanneer u NetTcp gebruikt met transportbeveiliging en een referentietype certificaat, is het SSL 3-protocol niet langer een standaardprotocol dat wordt gebruikt voor het onderhandelen over een beveiligde verbinding. In de meeste gevallen mag er geen invloed zijn op bestaande apps, omdat TLS 1.0 altijd is opgenomen in de protocollijst voor NetTcp. Alle bestaande clients moeten kunnen onderhandelen over een verbinding met ten minste TLS1.0.

Suggestie

Als Ssl3 is vereist, gebruikt u een van de volgende configuratiemechanismen om Ssl3 toe te voegen aan de lijst met onderhandelde protocollen.

Naam Weergegeven als
Bereik Edge
Versie 4.6.2
Type Runtime

Betrokken API's

Windows Presentation Foundation (WPF)

Het wijzigen van de eigenschap IsEnabled van het bovenliggende element van een TextBlock-besturingselement is van invloed op onderliggende besturingselementen

DETAILS

Vanaf .NET Framework 4.6.2 is het wijzigen van de System.Windows.UIElement.IsEnabled eigenschap van het bovenliggende System.Windows.Controls.TextBlock besturingselement van invloed op onderliggende besturingselementen (zoals hyperlinks en knoppen) van het System.Windows.Controls.TextBlock besturingselement. In .NET Framework 4.6.1 en eerdere versies geven besturingselementen binnen een System.Windows.Controls.TextBlock niet altijd de status van de eigenschap van het System.Windows.UIElement.IsEnabledSystem.Windows.Controls.TextBlock bovenliggende element weer.

Suggestie

Geen. Deze wijziging voldoet aan het verwachte gedrag voor besturingselementen in een System.Windows.Controls.TextBlock besturingselement.

Naam Weergegeven als
Bereik Secundair
Versie 4.6.2
Type Runtime

Betrokken API's

CoerceIsSelectionBoxHighlighted

DETAILS

Bepaalde reeksen acties met betrekking tot een System.Windows.Controls.ComboBox en de bijbehorende gegevensbron kunnen resulteren in een System.NullReferenceException.

Suggestie

Voer indien mogelijk een upgrade uit naar .NET Framework 4.6.2.

Naam Weergegeven als
Bereik Secundair
Versie 4.6
Type Runtime

Betrokken API's

DataGridCellsPanel.BringIndexIntoView genereert ArgumentOutOfRangeException

DETAILS

ScrollIntoView(Object) werkt asynchroon wanneer kolomvirtualisatie is ingeschakeld, maar de kolombreedten nog niet zijn bepaald. Als kolommen worden verwijderd voordat het asynchrone werk plaatsvindt, kan er een System.ArgumentOutOfRangeException optreden.

Suggestie

Een van de volgende opties:

  • Voer een upgrade uit naar .NET Framework 4.7.
  • Installeer de nieuwste onderhoudspatch voor .NET Framework 4.6.2.
  • Verwijder geen kolommen totdat het asynchrone antwoord is ScrollIntoView(Object) voltooid.
Naam Weergegeven als
Bereik Edge
Versie 4.6.2
Type Runtime

Betrokken API's

Horizontaal schuiven en virtualisatie

DETAILS

Deze wijziging is van toepassing op een System.Windows.Controls.ItemsControl die zijn eigen virtualisatie in de richting orthogonaal uitvoert in de hoofdschuifrichting (het belangrijkste voorbeeld is System.Windows.Controls.DataGrid met EnableColumnVirtualization="True"). Het resultaat van bepaalde horizontale schuifbewerkingen is gewijzigd om resultaten te produceren die intuïtiever en vergelijkbaarer zijn met de resultaten van vergelijkbare verticale bewerkingen.

De bewerkingen omvatten 'Hier schuiven' en 'Rechterrand', om de namen uit het menu te gebruiken die zijn verkregen door met de rechtermuisknop op een horizontale schuifbalk te klikken. Beide berekenen een kandidaat-offset en aanroep SetHorizontalOffset(Double).

Nadat u naar de nieuwe verschuiving hebt gescrold, kan het idee 'hier' of 'rechterrand' zijn gewijzigd omdat nieuw gedevirtualiseerde inhoud de waarde van System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth.

Vóór .NET Framework 4.6.2 gebruikt de schuifbewerking gewoon de kandidaat-offset, ook al is deze mogelijk niet 'hier' of op de rechterrand. Dit resulteert in effecten zoals 'bouncing' van de schuifvinger, die het beste wordt geïllustreerd door een voorbeeld. Stel dat een System.Windows.Controls.DataGrid ExtentWidth=1000 en Width=200 heeft. Een schuif naar "Rechterrand" maakt gebruik van kandidaat-offset 1000 - 200 = 800. Tijdens het schuiven naar die offset worden nieuwe kolommen gedevirtualiseerd; Stel dat ze erg breed zijn, zodat de System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth wijzigingen in 2000 veranderen. De schuif eindigt met HorizontalOffset=800 en de duim "stuitert" terug naar het midden van de schuifbalk - precies op 800/2000 = 40%.

De wijziging is het opnieuw compileren van een nieuwe kandidaat-offset wanneer deze situatie zich voordoet en probeer het opnieuw. (Dit is hoe verticaal schuiven al werkt.)

De wijziging produceert een voorspelbare en intuïtievere ervaring voor de eindgebruiker, maar het kan ook van invloed zijn op elke app die afhankelijk is van de exacte waarde van System.Windows.Controls.Primitives.IScrollInfo.HorizontalOffset na een horizontale schuif, ongeacht of deze wordt aangeroepen door de eindgebruiker of door een expliciete aanroep naar SetHorizontalOffset(Double).

Suggestie

Een app waarvoor een voorspelde waarde System.Windows.Controls.Primitives.IScrollInfo.HorizontalOffset wordt gebruikt, moet worden gewijzigd om de werkelijke waarde (en de waarde van System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth) op te halen na een horizontale schuif die kan veranderen System.Windows.Controls.Primitives.IScrollInfo.ExtentWidth vanwege ontvirtualisatie.

Naam Weergegeven als
Bereik Secundair
Versie 4.6.2
Type Runtime

Betrokken API's

Items.Wissen verwijdert geen duplicaten uit SelectedItems

DETAILS

Stel dat een selector (met meerdere selecties ingeschakeld) dubbele waarden bevat in de System.Windows.Controls.Primitives.MultiSelector.SelectedItems verzameling. Hetzelfde item wordt meerdere keren weergegeven. Het verwijderen van deze items uit de gegevensbron (bijvoorbeeld door Items.Wissen aan te roepen) kan ze niet verwijderen uit System.Windows.Controls.Primitives.MultiSelector.SelectedItems; alleen het eerste exemplaar wordt verwijderd. Bovendien kan het volgende gebruik van System.Windows.Controls.Primitives.MultiSelector.SelectedItems (bijvoorbeeld SelectedItems.Clear()) problemen ondervinden, zoals System.ArgumentException, omdat System.Windows.Controls.Primitives.MultiSelector.SelectedItems items die zich niet meer in de gegevensbron bevinden, bevat.

Suggestie

Voer indien mogelijk een upgrade uit naar .NET Framework 4.6.2.

Naam Weergegeven als
Bereik Secundair
Versie 4.5
Type Runtime

Betrokken API's

Een platte lijst met items met verschillende pixelhoogtes schuiven

DETAILS

Wanneer een System.Windows.Controls.ItemsControl verzameling wordt weergegeven met behulp van virtualisatie (IsVirtualizing=true) en item-scrolling (ScrollUnit=Item), en wanneer het besturingselement schuift om een item weer te geven waarvan de hoogte in pixels verschilt van de aangrenzende items, worden alle System.Windows.Controls.VirtualizingStackPanel items in de verzameling herhaald. De gebruikersinterface reageert niet tijdens deze iteratie. De iteratie vindt plaats in andere omstandigheden, zelfs in eerdere .NET Framework-releases. Dit gebeurt bijvoorbeeld wanneer pixel scrollen (ScrollUnit=Pixel) bij het tegenkomen van een item met een andere pixelhoogte en wanneer item hiërarchische gegevens (zoals een System.Windows.Controls.TreeView of een System.Windows.Controls.ItemsControl groeperen is ingeschakeld) bij het tegenkomen van een item met een ander aantal onderliggende items dan de aangrenzende items. Voor het geval van item scrollen en verschillende pixelhoogte is de iteratie geïntroduceerd in .NET Framework 4.6.1 om fouten in de indeling van hiërarchische gegevens op te lossen. Het is niet nodig als de gegevens plat zijn (geen hiërarchie) en .NET Framework 4.6.2 doet dit in dat geval niet.

Suggestie

Als de iteratie plaatsvindt in .NET Framework 4.6.1, maar niet in eerdere versies, dat wil zeggen, als het System.Windows.Controls.ItemsControl item is, door een platte lijst schuiven met items met een andere pixelhoogte, zijn er twee oplossingen:

  • Installeer .NET Framework 4.6.2.
  • Installeer hotfix HR 1605 voor .NET Framework 4.6.1.
Naam Weergegeven als
Bereik Secundair
Versie 4.6.1
Type Runtime

Betrokken API's

De achtergrond van RibbonGroup is ingesteld op transparant in gelokaliseerde builds

DETAILS

System.Windows.Controls.Ribbon.RibbonGroup achtergrond op gelokaliseerde builds is altijd geschilderd met transparante borstel, wat resulteert in een slechte UI-ervaring. Dit is opgelost in .NET Framework 4.7 WPF-fix door de gelokaliseerde resources voor System.Windows.Controls.Ribbon.RibbonGroupbij te werken, waardoor de juiste borstel wordt geselecteerd.

Suggestie

Upgrade uitvoeren naar .NET Framework 4.7

Naam Weergegeven als
Bereik Edge
Versie 4.6.2
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.

WPF-spellingcontrole mislukt op onverwachte manieren

DETAILS

Dit omvat een aantal WPF-problemen met spellingcontrole:

Suggestie

Probleem 1- Dit is opgelost in .NET Framework 4.6.2 Probleem #2 - WPF-spellingcontrole wordt niet meer ondersteund wanneer toepassingen worden gestart met 'uitvoeren als een andere gebruiker'. Vanaf .NET Framework 4.6.2 worden toepassingen die op deze manier worden gestart, niet meer onverwacht vastgelopen. In plaats daarvan wordt de spellingcontrole op de achtergrond uitgeschakeld. Probleem 3: dit is opgelost in .NET Framework 4.6.2.

Naam Weergegeven als
Bereik Edge
Versie 4.6.1
Type Runtime

Betrokken API's

Kan niet worden gedetecteerd via API-analyse.