Applies To.NET

Data de Lançamento:21 de julho de 2020

Versão: .NET Framework 3.5 e 4.8

A atualização de 21 de julho de 2020 para a versão 1903 do Windows 10 e do Windows Server 1903 RTM e Windows 10, versão 1909 e Windows Server, versão 1909 inclui melhorias de fiabilidade cumulativa em .NET 3.5 e 4.8. Recomendamos que aplique esta atualização como parte das suas rotinas regulares de manutenção. Antes de instalar esta atualização, consulte as secções de requisitos pré-requisitos e reinicie as secções de requisitos.

Melhorias na qualidade e na fiabilidade

CLR1

- Uma alteração no Quadro .NET 4.8 regrediu certos cenários da EnterpriseServices em que um objeto de apartamento de linha única pode ser tratado como um apartamento multi-thread e levar a uma falha de bloqueio. Esta alteração identifica agora corretamente os objetos de apartamento de uma única linha como tal e evita esta falha.

- Aborda um problema em conjuntos com dados de perfil do IBC que faz com que os processos dos trabalhadores da Ngen se despenhem e recuem para imagens nativas completas.

- Endereços de acidentes raros que podem ocorrer durante a entrega de abortar o fio.

SQL

- SqlBulkCopy.WriteToServer pode fazer com que as transações para as tabelas SQL in-memory, falhem. O cliente pode ver uma exceção com a mensagem "Prazo de execução expirado. O período de tempo decorrido antes da conclusão da operação ou do 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 as tabelas de memória.

ASP.NET

- Utilize hashes compatíveis com o FIPS em dados de telemetria ASP.Net.

- Aborda uma questão em que "Não especificado" não era um valor permitido em config para o atributo 'cookieSameSite' das secções de autenticação e configuração do estado de sessão.

WPF2

- Aborda um problema quando a verificação ortográfica é ativada na WPF TextBox ou na RichTextBox, palavras como "etc.", "por exemplo." são identificadas como erros ortográficos incorretamente.

- Aborda um problema quando algumas aplicações do Per-Monitor Aware WPF que funcionam em .NET 4.8 podem ocasionalmente encontrar uma falha com excepçõesSystem.ComponentModel.Win32Exception.

- Aborda um problema em que o TextBlock refluens (toma diferentes decisões de quebra de linha) durante o teste de renderização e sucesso, vs. durante a medida. Os sintomas incluem texto em falta e falha o FailFast durante o processamento de texto programático.

- Aborda um problema com uma falha do fio de renderização causada pela HostVisual desligando o seu alvo na linha errada.

- Aborda um problema com um enforcamento enquanto percorre uma TreeView cuja árvore não é uniforme, no sentido em que os filhos de um nó governam subárcis cujos tamanhos são bastante diferentes.

- Aborda um problema com uma falha que pode ocorrer ao fechar uma ponta de ferramenta que é novamente fechada pelo código do utilizador.

- Quando um HwndHost sai da árvore visual, é criado um traço de pilha. Isto é caro, e geralmente desnecessário. A lógica é agora alterada para criar o traço da pilha apenas quando a condição anómala ocorre.

- Aborda uma fuga de memória no System.SpeechSynthesizer.

- O comando Copy da DataGrid abre uma exceção se a área de transferência do sistema for bloqueada por outro processo. Isto falha, uma vez que normalmente não existe um código de aplicação na pilha para apanhar a exceção. O comportamento do TextBox (e de outras aplicações como Notepad, Word, browsers) nesta situação é falhar silenciosamente - nada é copiado para a área de transferência, mas nenhuma exceção. Uma aplicação WPF pode agora optar por este comportamento definindo <aplicaçõesSettings> <adicionar tecla="ShouldThrowOnDataGridCopyOrCutFailure" valor="falso"/> </appSettings>no seu ficheiro app.config.

- Aborda um problema na construção do modelo interno para um documento FixedPage. Alguns textos apareciam na ordem errada para efeitos de edição de operações como seleção e cópia/pasta.

WCF3

- Ao utilizar um nome de utilizador UPN Windows com o formato semelhante ao username@dns.domain na propriedade username de um NetworkCredential quando utilizar o NetTcpBinding ou o NetNamedPipeBinding, o WCF dividiria incorretamente o nome de utilizador e o dns.domain colocando-os nas propriedades userName e Domain. Isto é inválido em alguns cenários e resultaria em não autenticação. Esta correção remove a modificação credencial quando se utiliza um nome de utilizador UPN. A modificação pode ser reativada definindo a appSetting "wcf:enableLegacyUpnUsernameFix" para ser verdadeira.

Bibliotecas Líquidas

- Endereça uma fuga de memória em HttpListener.

Formas de vitória

- Aborda um problema com o estado de conformidade com o DataGridView IsReadOnlyaccessibility: O Narrador e outras ferramentas acessíveis anunciam o estado da célula apenas de leitura em conformidade.

- Aborda uma regressão no Quadro .NET 4.8 quando as aplicações que utilizam o tipo de célula DataGridView ComboBox e optaram pela acessibilidade do Nível 3, podem sofrer quebras intermitentes durante a edição da célula.

- Aborda um problema no código de verificação do cartão de tempo ClickOnce RFC3161.

Melhorias de acessibilidade winforms

Neste lançamento estamos a adicionar novas melhorias de acessibilidade que a sua aplicação pode optar. Por predefinição, estas alterações são desativadas. As aplicações que optam por funcionalidades de acessibilidade introduzidas em .NET 4.8 e anteriores, podem adicionar o seguinte interruptor de compatibilidade ao ficheiro config da aplicação:

"Switch.UseLegacyAccessibilityFeatures.4=false"

Especificamente, se uma aplicação tiver como alvo .NET 4.8, adicione a seguinte secçãoAppContextSwitchOverrides :

<?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 alvo uma versão anterior do quadro e optar pelos conjuntos de funcionalidades de acessibilidade anteriormente lançados, adicione um único "Switch.UseLegacyAccessibilityFeatures.4=false" mudar para o existente AppContextSwitchOverrides secção:

<?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 winforms incluídas nesta versão são:

- Aborda um problema com o anúncio de itens de controlo PropertyGrid e categorias expandidas/desagregidas pelo Screen Readers.

- Atualizar os padrões acessíveis do controlo da Grade de Propriedade e seus elementos internos.

- Atualize os nomes acessíveis dos elementos internos do controlo da Rede de Propriedades para os anunciar corretamente pelo leitor de ecrã.

- Endereços delimitando propriedades acessíveis a retângulos para os controlos PropertyGridView

- Permite que os leitores de ecrã anunciem corretamente o estado expandido/colapsado da célula DataGridView ComboBox.

1 Tempo comum de execução da linguagem (CLR) 2 Fundação de Apresentação do Windows (WPF) 3 Fundação de Comunicação do Windows

Problemas conhecidos nesta atualização

Aplicações do Quadro de Apresentação do Windows (WPF) que utilizam dois ou mais elementos HostVisual pertencentes a um fio comum, onde ambos os elementos HostVisual são solicitados a desligar-se do seu alvo visual aproximadamente ao mesmo tempo, o correio falha com o seguinte erro:

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

Soluções Alternativas

Pode desativar a correção problemática definindo o interruptor AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" para ser verdadeiro, utilizando um dos métodos descritos aqui.  Isto expõe a sua aplicação ao bug original, pelo que deve remover o interruptor assim que uma correção for publicada através de uma próxima atualização.

Solução alternativa 1

• Adicione a seguinte entrada no 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>

Note que se a configuração da sua aplicação já tiver uma entrada para <AppContextSwitchOverrides>, tem de adicionar a nova definição dentro dessa entrada, separada de outros comutadores por um ponto e vírgula:

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

Solução 2

• Aplique a seguinte sub-chave de registo para desativar a correção problemática para todas as aplicações WPF na máquina.  Aviso Podem ocorrer problemas graves se modificar o registo incorretamente utilizando o Editor de Registo ou utilizando outro método. Estes problemas podem exigir que reinstale o sistema operativo. A Microsoft não pode garantir que estes problemas possam ser resolvidos. Modifique o registo por sua conta e risco.

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

Note que em sistemas operativos de 64 bits, também precisa de aplicar uma subkey de registo com o mesmo nome, tipo e valor no local: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\. NETFramework\AppContext\

Resolução

Para resolver este problema, instale a atualização para .NET Framework 3.5 e 4.8 para o Windows 10 Versão 1903 e Windows Server 1903 RTM e Windows 10, versão 1909 e Windows Server, versão 1909 KB4580980.

 

Como obter e instalar a atualização

Instale esta atualização

Canal de Lançamento

Disponível

Próximo passo

Atualização do Windows e atualização do Microsoft

Sim

Para descarregar e instalar esta atualização, vá a Definições > Atualizar & Segurança > Windows Updatee, em seguida, selecione Verificar se há atualizações.

Catálogo de atualizações da Microsoft

Sim

Para obter o pacote autónomo para esta atualização, aceda ao site do Catálogo microsoft Update.

Serviços de atualização do servidor do Windows (WSUs)

Não

Pode importar esta atualização para a WSUS manualmente. Consulte o Catálogo de Atualizações da Microsoft para obter instruções.

 

Informações de arquivo

Para uma lista dos ficheiros fornecidos nesta atualização, descarregue as informações do ficheiro para atualização cumulativa.

Pré-requisitos

Para aplicar esta atualização, tem de ter o Quadro 3.5 ou 4.8 instalado.

Requisito de reiniciar

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 quadros .NET antes de aplicar esta atualização.

Como obter ajuda e apoio para esta atualização

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.