31 de julho de 2020-KB4562899 Pré-visualização da Atualização Cumulativa do .NET Framework 3.5 e 4.8 para Windows 10, Versão 2004

Aplica-se A
.NET

Nota

  • Data de lançamento:
    31 de Julho de 2020
  • Versão:
    .NET Framework 3.5 e 4.8

A atualização de 31 de julho de 2020 para Windows 10 Versão 2004 inclui melhoramentos de fiabilidade cumulativa no .NET 3.5 e 4.8. Recomendamos que aplique esta atualização como parte das suas rotinas de manutenção regulares. Antes de instalar esta atualização, consulte as seções Pré-requisitos e Requisito de reinicialização .

Melhorias de qualidade e fiabilidade

CLR1 - Uma alteração no .NET Framework 4.8 regrediu certos cenários do EnterpriseServices em que um objeto de apartamento de thread único pode ser tratado como um apartamento multithread e levar a uma falha de bloqueio. Essa alteração agora identifica corretamente os objetos de apartamento de thread único como tal e evita essa falha.
- Corrige um problema em assemblagens com dados de perfil IBC que fazem com que os processos de trabalho Ngen falhem e recorram a imagens nativas completas.
- Aborda falhas raras que podem ocorrer durante a entrega do abortamento do thread.
SQL - SqlBulkCopy.WriteToServer pode causar falhas nas transações para tabelas SQL na memória. O cliente pode ver uma exceção com a mensagem "Tempo limite de execução expirado. O período de tempo limite decorrido antes da conclusão da operação ou o servidor não está respondendo." SqlBulkCopy.WriteToServer estava enviando um token de atenção (mensagem de cancelamento) depois de enviar dados para o Sql Server, fazendo com que o servidor abortasse a transação para tabelas na memória.
ASP.NET - Use hashes compatíveis com FIPS em ASP.Net dados de telemetria.
- Corrige um problema em que "Não especificado" não era um valor permitido na configuração para o atributo "cookieSameSite" das secções de autenticação de formulários e configuração do estado da sessão.
WPF2 - Corrige um problema quando a verificação ortográfica está ativada no WPF TextBox ou RichTextBox, palavras como "etc.", "e.g." são identificados como erros ortográficos incorretamente.
- Corrige um problema quando algumas aplicações WPF com Per-Monitor Aware que são executadas no .NET 4.8 podem, ocasionalmente, encontrar uma falha com exceptionSystem.ComponentModel.Win32Exception.
- Corrige um problema em que TextBlock flui (toma diferentes decisões de quebra de linha) durante a renderização e o teste de acerto, em vez de durante a medida. Os sintomas incluem texto em falta e falhas FailFast durante o processamento de texto programático.
- Corrige um problema com uma falha de thread de renderização causada pelo HostVisual desconectar seu destino no thread errado.
- Resolve um problema com uma suspensão ao deslocar um TreeView cuja árvore não é uniforme, no sentido em que os filhos de um determinado nó governam subárvores cujos tamanhos são bastante diferentes.
- Resolve um problema com uma falha que pode ocorrer ao fechar uma descrição que é novamente fechada por código de utilizador.
- Quando um HwndHost deixa a árvore visual, um rastreamento de pilha é criado. Isso é caro e, geralmente, desnecessário. A lógica agora é alterada para criar o rastreamento de pilha somente quando a condição anômala ocorre.
- Corrige uma fuga de memória em System.Speech.SpeechSynthesizer.
- O comando Copiar do DataGrid lança uma exceção se a área de transferência do sistema estiver bloqueada por outro processo. Isso falha, pois geralmente não há nenhum código de aplicativo na pilha para capturar a exceção. O comportamento do TextBox (e outros aplicativos como Notepad, Word, navegadores) nesta situação é falhar silenciosamente - nada é copiado para a área de transferência, mas nenhuma exceção. Um aplicativo WPF agora pode optar por esse comportamento definindo <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>em seu arquivo app.config.
- Resolve um problema na construção do modelo interno para um documento FixedPage. Algum texto aparecia na ordem errada para efeitos de operações de edição, tais como selecionar e copiar/colar.
WCF3 - Ao usar um nome de usuário UPN do Windows com o formato semelhante à username@dns.domain propriedade username de um NetworkCredential ao usar NetTcpBinding ou NetNamedPipeBinding, o WCF dividiria incorretamente o nome de usuário e dns.domain colocando-os nas propriedades UserName e Domain. Esta autenticação é inválida em alguns cenários e poderá resultar numa falha de autenticação. Esta correção remove a modificação das credenciais ao utilizar um nome de utilizador UPN. A modificação pode ser reativada definindo o AppSetting "wcf:enableLegacyUpnUsernameFix" como true.
Bibliotecas de rede - Corrige uma fuga de memória no HttpListener.
Formas de gancho - Corrige um problema com DataGridView IsReadOnlyestado de acessibilidade: o Narrador e outra ferramenta acessível anuncia o estado da célula só de leitura em conformidade.
- Corrige uma regressão no .NET Framework 4.8 em que as aplicações que utilizam o tipo de célula DataGridView ComboBox que optaram por participar no Nível 3 de Acessibilidade podem apresentar falhas intermitentes ao editar a célula.
- Resolve um problema no código de verificação do carimbo de data/hora do ClickOnce RFC3161.
Melhorias de acessibilidade do Winforms Nesta versão, estamos a adicionar novas melhorias de acessibilidade nas quais a sua aplicação pode optar ativamente por participar. Por predefinição, estas alterações estão desativadas. As aplicações que optam por participar nas funcionalidades de acessibilidade introduzidas no .NET 4.8 e em versões anteriores podem adicionar o seguinte parâmetro de compatibilidade ao ficheiro de configuração da aplicação:
"Switch.UseLegacyAccessibilityFeatures.4=false"
Especificamente, se um aplicativo tiver como destino o .NET 4.8, adicione a seguinte seção AppContextSwitchOverrides:
<?xml version="1.0" encoding+"utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.8"/>
</startup>
<runtime>
<!-- AppContextSwitchOverrides value attribute is in the form of key1=true\|false;key2=true\|false -->
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures.4=false" />
</runtime>
</configuration>
Se uma aplicação for direcionada para uma versão anterior do framework e optar ativamente por participar nos conjuntos de funcionalidades de acessibilidade lançados anteriormente, adicione um único "Switch.UseLegacyAccessibilityFeatures.4=false" parâmetro à secção existente AppContextSwitchOverrides :
<?xml version="1.0" encoding+"utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.7"/>
</startup>
<runtime>
<!-- AppContextSwitchOverrides value attribute is in the form of key1=true\|false;key2=true\|false -->
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false\|Switch.UseLegacyAccessibilityFeatures.2=false\|Switch.UseLegacyAccessibilityFeatures.3=false\|Switch.UseLegacyAccessibilityFeatures.4=false"/>
</runtime>
</configuration>
As melhorias de acessibilidade do Winforms incluídas nesta versão são:- Corrige um problema com o anúncio de itens de controlo PropertyGrid e categorias em estado expandido/fechado por Leitores de ecrã.
- Atualização dos padrões acessíveis de controle de grade de propriedade e seus elementos internos.
- Atualização dos nomes acessíveis dos elementos internos de controle da Grade de Propriedades para anunciá-los corretamente pelo leitor de tela.
- Corrige propriedades acessíveis do retângulo delimitador para os controles PropertyGridView
- Permite que os leitores de tela anunciem o estado expandido/recolhido da célula DataGridView ComboBox corretamente.

         1 Common Language Runtime (CLR)
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation

Problemas conhecidos nesta atualização

Os aplicativos do Windows Presentation Framework (WPF) que usam dois ou mais elementos HostVisual pertencentes a um thread comum, onde ambos os elementos HostVisual são solicitados a se desconectar de seu destino visual aproximadamente ao mesmo tempo, o email falha com o seguinte erro:

Tipo de exceção: System.COMException
Mensagem: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Pilha de chamadas: o quadro superior é System.Windows.Media.Composition.DUCE+Channel.SyncFlush()

Soluções alternativas

Pode desativar a correção problemática ao definir o parâmetro AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" como verdadeiro, utilizando um dos métodos descritos aqui.  Isto expõe a sua aplicação ao erro original, pelo que deve remover a opção assim que for publicada uma correção através de uma atualização futura.

Solução alternativa 1

• Adicione a seguinte entrada ao ficheiro app.config para desativar a correção problemática numa única aplicação.

        <runtime>
     <AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</runtime>

Observe que, se a configuração do aplicativo já tiver uma entrada para <AppContextSwitchOverrides>, você precisará adicionar a nova configuração dentro dessa entrada, separada de outras opções por ponto-e-vírgula:

   <AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>

Solução alternativa 2

• Aplique a seguinte subchave de registo para desativar a correção problemática para todas as aplicações WPF no computador.
 Aviso
Podem ocorrer problemas graves se modificar o registo incorretamente através do Editor de Registo ou de outro método. Estes problemas podem exigir que reinstale o sistema operativo. A Microsoft não garante que estes problemas possam ser resolvidos. Modificar o registo por sua conta e risco.

Localização: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Nome: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Tipo: String
Valor: verdadeiro

Observe que, em sistemas operacionais de 64 bits, você também precisa aplicar uma subchave do Registro com o mesmo nome, tipo e valor no local: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

Resolução

Estamos a trabalhar numa resolução e iremos fornecer uma atualização numa versão futura.
 

Como obter e instalar a atualização

Instalar esta atualização

Via de Lançamento Disponível Passo Seguinte
Windows Update e Microsoft Update Sim Para transferir e instalar esta atualização, aceda a Definições>de Atualização & Segurança>Windows Update e, em seguida, selecione Procurar atualizações.
Catálogo Microsoft Update Sim Para obter o pacote autónomo para esta atualização, aceda ao site do Catálogo Microsoft Update.
Windows Server Update Services (WSUS) Não Pode importar manualmente esta atualização para o WSUS. Consulte o Catálogo Microsoft Update para obter instruções.

Informações de ficheiro

Para obter uma lista dos ficheiros incluídos nesta atualização, transfira as informações de ficheiro para a atualização cumulativa.

Pré-requisitos

Para aplicar esta actualização, tem de ter o .NET Framework 3.5 ou 4.8 instalado.

Requisito de reinício

Tem de reiniciar o computador depois de aplicar esta actualização se estiverem a ser utilizados ficheiros afectados. Recomendamos que saia de todas as aplicações baseadas em .NET Framework antes de aplicar esta atualização.

Como obter ajuda e suporte para esta atualização