Alterações de tempo de execução para a migração do .NET Framework 4.6 para 4.6.1Runtime Changes for Migration from .NET Framework 4.6 to 4.6.1

Se você estiver migrando do .NET Framework 4.6 para 4.6.1, examine os seguintes tópicos sobre problemas de compatibilidade do aplicativo que podem afetar seu aplicativo:If you are migrating from the .NET Framework 4.6 to 4.6.1, review the following topics for application compatibility issues that may affect your app:

FerramentasTools

Contract.Invariant ou Contract.Requires<TException> não consideram String.IsNullOrEmpty puroContract.Invariant or Contract.Requires<TException> do not consider String.IsNullOrEmpty to be pure

DetalhesDetails Para aplicativos direcionados ao .NET Framework 4.6.1, se o contrato invariável de Contract.Invariant ou o contrato de pré-condição de Requires chamar o método String.IsNullOrEmpty, o regravador emitirá o aviso do compilador CC1036: "Chamada detectada ao método 'System.String.IsNullOrWhteSpace(System.String)' sem [Pure] no método." Esse é um aviso do compilador, e não um erro do compilador.For apps that target the .NET Framework 4.6.1, if the invariant contract for Contract.Invariant or the precondition contract for Requires calls the String.IsNullOrEmpty method, the rewriter emits compiler warning CC1036: "Detected call to method 'System.String.IsNullOrWhteSpace(System.String)' without [Pure] in method." This is a compiler warning rather than a compiler error.
SugestãoSuggestion Esse comportamento foi abordado em Problema nº 339 no GitHub.This behavior was addressed in GitHub Issue #339. Para eliminar esse aviso, você pode baixar e compilar uma versão atualizada do código-fonte para a ferramenta de Contratos de Código no GitHub.To eliminate this warning, you can download and compile an updated version of the source code for the Code Contracts tool from GitHub. As informações para download são encontradas no fim da página.Download information is found at the bottom of the page.
EscopoScope SecundárioMinor
VersãoVersion 4.6.14.6.1
TipoType Tempo de execuçãoRuntime
APIs afetadasAffected APIs

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)

Rolagem de itens em uma lista simples de itens com diferentes alturas em pixelsItem-scrolling a flat list with items of different pixel-height

DetalhesDetails Quando um ItemsControl exibe uma coleção usando virtualização (IsVirtualizing=true) e rolagem de itens (ScrollUnit=Item) e quando o controle rola para exibir um item cuja altura em pixels é diferente de seus vizinhos, o VirtualizingStackPanel itera em todos os itens na coleção.When an ItemsControl displays a collection using virtualization (IsVirtualizing=true) and item- scrolling (ScrollUnit=Item), and when the control scrolls to display an item whose height in pixels differs from its neighbors, the VirtualizingStackPanel iterates over all items in the collection. A interface do usuário não está respondendo durante essa iteração; se a coleção for grande, isso poderá ser percebido como uma parada.The UI is unresponsive during this iteration; if the collection is large, this can be perceived as a hang. A iteração ocorre em outras circunstâncias, mesmo nas versões anteriores do .NET Framework.The iteration occurs in other circumstances, even in previous .NET Framework releases. Por exemplo, isso ocorre na rolagem de pixels (ScrollUnit=Pixel) ao encontrar um item com uma altura de pixels diferente e na rolagem de itens de dados hierárquicos (como em um TreeView ou um ItemsControl com o agrupamento habilitado) ao encontrar um item com um número de itens descendentes diferentes de seus vizinhos. Para o caso em que há rolagem de itens e diferentes alturas em pixels, a iteração foi introduzida no .NET Framework 4.6.1 para corrigir bugs no layout de dados hierárquicos.For example, it occurs when pixel-scrolling (ScrollUnit=Pixel) upon encountering an item with different pixel height, and when item-scrolling hierarchical data (such as a TreeView or an ItemsControl with grouping enabled) upon encountering an item with a different number of descendant items than its neighbors.For the case of item-scrolling and different pixel height, the iteration was introduced in .NET Framework 4.6.1 to fix bugs in the layout of hierarchical data. Ela não será necessária se os dados forem simples (sem hierarquia) e, nesse caso, ela não ocorre no .NET Framework 4.6.2.It is not needed if the data is flat (no hierarchy), and .NET Framework 4.6.2 does not do it in that case.
SugestãoSuggestion Se a iteração ocorrer no .NET Framework 4.6.1, mas não nas versões anteriores, ou seja, se o ItemsControl for uma lista plana de rolagem de item com itens de alturas em pixels diferentes, haverá duas soluções:If the iteration occurs in .NET Framework 4.6.1 but not in earlier releases - that is, if the ItemsControl is item- scrolling a flat list with items of different pixel height - there are two remedies:
  1. Instalar o .NET Framework 4.6.2.Install .NET Framework 4.6.2.
  2. Instalar o hotfix HR 1605 para o .NET Framework 4.6.1.Install hotfix HR 1605 for .NET Framework 4.6.1.
EscopoScope SecundárioMinor
VersãoVersion 4.6.14.6.1
TipoType Tempo de execuçãoRuntime
APIs afetadasAffected APIs

ObjectDisposedException gerada pelo verificador ortográfico do WPFObjectDisposedException thrown by WPF spellchecker

DetalhesDetails Ocasionalmente, os aplicativos WPF falham durante o desligamento com uma ObjectDisposedException gerada pelo verificador ortográfico.WPF applications occasionally crash during application shutdown with an ObjectDisposedException thrown by the spellchecker. Isso foi corrigido no WPF do .NET Framework 4.7 por meio do tratamento normal da exceção, garantindo que os aplicativos não sejam mais prejudicados.This is fixed in .NET Framework 4.7 WPF by handling the exception gracefully, and thus ensuring that applications are no longer adversely affected. Observe que exceções de primeira chance ocasionais continuariam a ser observadas em aplicativos em execução em um depurador.It should be noted that occasional first-chance exceptions would continue to be observed in applications running under a debugger.
SugestãoSuggestion Atualizar para o .NET Framework 4.7Upgrade to .NET Framework 4.7
EscopoScope Microsoft EdgeEdge
VersãoVersion 4.6.14.6.1
TipoType Tempo de execuçãoRuntime

A Verificação Ortográfica do WPF falha de formas inesperadasWPF Spell Checking fails in unexpected ways

DetalhesDetails Isso inclui alguns problemas da Verificação Ortográfica do WPF:This includes a number of WPF Spell Checker issues:
  • Às vezes, a Verificação Ortográfica do WPF gera COMExceptionWPF Spell Checker sometimes throws COMException
  • A Verificação Ortográfica do WPF falha com UnauthorizedAccessException quando aplicativos são iniciados usando "Executar como usuário diferente"WPF Spell Checker fails with UnauthorizedAccessException when applications are launched using 'run as different user'
  • O Verificador Ortográfico do WPF identifica incorretamente erros ortográficos em palavras compostas, como "Hausnummer" em alemão.WPF Spell Checker incorrectly identifies spelling errors in compound words like 'Hausnummer' in German.
SugestãoSuggestion Problema nº 1 – esse problema foi corrigido no .NET Framework 4.6.2 Problema nº 2 – a Verificação Ortográfica do WPF deixou de ter suporte quando aplicativos são iniciados usando "Executar como usuário diferente".Issue #1 - This has been fixed in .NET Framework 4.6.2 Issue #2 - WPF Spell Checker is no longer supported when applications are launched using 'run as different user'. A partir do .NET Framework 4.6.2, aplicativos iniciados dessa maneira não falharão inesperadamente, em vez disso, a Verificação Ortográfica será desabilitada silenciosamente.Starting .NET Framework 4.6.2, applications launched in this manner will no longer crash unexpectedly - instead the Spell Checker will be silently disabled. Problema nº 3 – esse problema foi corrigido no .NET Framework 4.6.2.Issue #3 - This has been fixed in .NET Framework 4.6.2.
EscopoScope Microsoft EdgeEdge
VersãoVersion 4.6.14.6.1
TipoType Tempo de execuçãoRuntime