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, veja as secções Pré-requisitos e Requisitos de reinício .

Melhorias de qualidade e fiabilidade

CLR1 - Uma alteração no .NET Framework 4.8 regrediu determinados cenários enterpriseServices em que um objeto de apartamento de thread único pode ser tratado como um apartamento multi-thread e levar a uma falha de bloqueio. Esta alteração identifica corretamente objetos de apartamento de thread único como tal e evita esta falha.
- Resolve um problema em assemblagens com dados de perfil IBC que faz com que os processos de trabalho da Ngen falhem e revertam para imagens nativas completas.
- Resolve falhas raras que podem ocorrer durante a entrega do thread abortado.
SQL - SqlBulkCopy.WriteToServer pode fazer com que as transações em tabelas SQL dentro da memória falhem. 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á a responder." SqlBulkCopy.WriteToServer estava a enviar 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 dentro da memória.
ASP.NET - Utilize hashes compatíveis com FIPS no ASP.Net dados telemétricos.
- Resolve um problema em que "Não especificado" não era um valor permitido na configuração do atributo "cookieSameSite" das secções de autenticação de formulários e configuração do estado da sessão.
WPF2 - Resolve um problema quando a verificação ortográfica está ativada na Caixa de Texto WPF ou no RichTextBox, palavras como "etc.", "por exemplo". são identificados como erros ortográficos incorretamente.
- Resolve um problema em que algumas aplicações WPF com Suporte para Per-Monitor executadas no .NET 4.8 podem ocasionalmente encontrar uma falha com exceptionSystem.ComponentModel.Win32Exception.
- Resolve um problema em que o TextBlock se refluxa (toma diferentes decisões de quebra de linha) durante a composição e o hit-test, vs. durante a medida. Os sintomas incluem texto em falta e FailFast falha durante o processamento de texto programático.
- Resolve um problema com uma falha de thread de composição causada pelo HostVisual ao desligar o destino no thread errado.
- Resolve um problema com um bloqueio ao deslocar uma TreeView cuja árvore não é uniforme, no sentido em que uma criança do nó governa subárvores cujos tamanhos são bastante diferentes.
- Resolve um problema com uma falha que pode ocorrer ao fechar uma descrição que é fechada novamente por código de utilizador.
- Quando um HwndHost sai da árvore visual, é criado um rastreio de pilha. Isto é caro e, normalmente, desnecessário. A lógica é agora alterada para criar o rastreio de pilha apenas quando ocorre a condição anómalo.
- Resolve uma fuga de memória em System.Speech.SpeechSynthesizer.
- O comando Copiar do DataGrid gera uma exceção se a área de transferência do sistema estiver bloqueada por outro processo. Isto falha, uma vez que normalmente não existe nenhum código de aplicação na pilha para detetar a exceção. O comportamento da Caixa de Texto (e de outras aplicações, como o Bloco de Notas, Word, browsers) nesta situação é falhar silenciosamente – nada é copiado para a área de transferência, mas não há exceção. Uma aplicação WPF pode agora optar ativamente por participar neste comportamento ao definir <appSettings<>add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings no respetivo>ficheiro de app.config.
- Resolve um problema na construção do modelo interno de um documento de Página Fixa. Alguns textos eram apresentados na ordem errada para efeitos de operações de edição, como seleção e cópia/colagem.
WCF3 - Ao utilizar um nome de utilizador upn do Windows com o formato semelhante a username@dns.domain na propriedade de nome de utilizador de um NetworkCredential ao utilizar NetTcpBinding ou NetNamedPipeBinding, o WCF dividiria incorretamente o nome de utilizador e dns.domain colocando-os nas propriedades UserName e Domain. Isto é inválido em alguns cenários e resultaria na falha da autenticação. Esta correção remove a modificação de credenciais ao utilizar um nome de utilizador UPN. A modificação pode ser reativada ao definir appSetting "wcf:enableLegacyUpnUsernameFix" como verdadeiro.
Bibliotecas Net - Resolve uma fuga de memória em HttpListener.
Winforms - Resolve um problema com o estado de acessibilidade IsReadOnlyaccessibility do DataGridView: o Narrador e outra ferramenta acessível anunciam o estado da célula só de leitura em conformidade.
- Resolve uma regressão no .NET Framework 4.8 quando as aplicações que utilizam o tipo de célula dataGridView ComboBox e optaram pela Acessibilidade de Nível 3 podem ocorrer falhas intermitentes ao editar a célula.
- Resolve um problema em ClickOnce RFC3161 código de verificação de carimbo de data/hora.
Melhoramentos 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 anteriores podem adicionar o seguinte compatibilidade ao ficheiro de configuração da aplicação:
"Switch.UseLegacyAccessibilityFeatures.4=false"
Especificamente, se uma aplicação tiver como destino .NET 4.8, adicione a seguinte secçã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 tiver como destino uma versão anterior da arquitetura e optar ativamente por participar nos conjuntos de funcionalidades de acessibilidade anteriormente lançados, adicione um único "Switch.UseLegacyAccessibilityFeatures.4=false" comutador à 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:- Resolve um problema com o anúncio de itens de controlo PropertyGrid e categorias expandidas/fechadas pelos Leitores de Ecrã.
- Atualizou os padrões acessíveis do controlo Grelha de Propriedades e os respetivos elementos internos.
- Foram atualizados os nomes acessíveis dos elementos internos de controlo da Grelha de Propriedades para os anunciar corretamente pelo leitor de ecrã.
- Corrige as propriedades acessíveis do retângulo delimitador para os controlos PropertyGridView
- Permite que os leitores de ecrã anunciem corretamente o estado expandido/fechado da célula do DataGridView ComboBox.

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

Problemas conhecidos nesta atualização

As aplicações WPF (Windows Presentation Framework) que utilizam dois ou mais elementos HostVisual pertencentes a um thread comum, em que ambos os elementos HostVisual são convidados a desligarem-se do respetivo destino visual aproximadamente ao mesmo tempo, o correio falha com o seguinte erro:

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

Soluções

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

Solução 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>

Tenha em atenção que se a configuração da aplicação já tiver uma entrada para <AppContextSwitchOverrides>, terá de adicionar a nova definição nessa entrada, separada de outros comutadores por ponto e vírgula:

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

Solução 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 pode garantir 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: Cadeia
Valor: verdadeiro

Tenha em atenção que nos sistemas operativos de 64 bits, também tem de aplicar uma subchave de registo com o mesmo nome, tipo e valor na localização: 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>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 atualização, tem de ter .NET Framework 3.5 ou 4.8 instalado.

Requisito de reinício

Tem de reiniciar o computador depois de aplicar esta atualização se estiverem a ser utilizados ficheiros afetados. 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