21 de julho de 2020-KB4562900 Pré-visualização da atualização cumulativa para .NET Framework 3.5 e 4.8 para a versão 1903 do Windows 1903 e Windows 1903, versão 1909 e Windows Server, versão 1909
Applies To
.NETData 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:
|
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
-
Ajuda para instalar atualizações: FaQ do Windows Update
-
Proteja-se online e em casa: suporte ao Windows Security
-
Apoio local de acordo com o seu país: Apoio Internacional