Fecha de publicación:21 de julio de 2020
Versión: .NET Framework 3,5 y 4,8
La actualización del 21 de julio de 2020 para Windows 10 versión 1809 y Windows Server 2019 incluye mejoras de confiabilidad acumulativas en .NET 3,5 y 4,8. Le recomendamos que aplique esta actualización como parte de las rutinas de mantenimiento habituales. Antes de instalar esta actualización, vea las secciones requisitos previos y requisito de reinicio .
Mejoras de calidad y confiabilidad
CLR1 |
-Un cambio en .NET Framework 4,8 regresó a ciertos escenarios de EnterpriseServices en los que un objeto de apartamento de un único subproceso puede tratarse como un apartamento multiproceso y dar lugar a un error de bloqueo. Este cambio ahora identifica correctamente los objetos de apartamento de subprocesos individuales y evita este error. : Trata un problema en los ensamblados con datos del perfil IBC que provocan el bloqueo de los procesos de trabajo de Ngen y revierten a imágenes nativas completas. -Se producen bloqueos poco comunes que pueden producirse durante la entrega de la anulación del subproceso. |
|
SQL |
-SqlBulkCopy. WriteToServer puede provocar errores en las transacciones en las tablas de SQL en memoria. El cliente puede ver una excepción con el mensaje "se ha agotado el tiempo de espera de ejecución. El período de tiempo de espera expiró antes de completar la operación o el servidor no responde. " SqlBulkCopy. WriteToServer enviaba un token de atención (mensaje de cancelación) después de enviar datos a SQL Server, lo que provoca que el servidor anule la transacción en las tablas en memoria. |
|
ASP.NET |
-Use hash compatibles con FIPS en datos de telemetría de ASP.Net. : Trata un problema por el que "no especificado" no era un valor permitido en la configuración para el atributo "cookieSameSite" de las secciones de configuración de autenticación de formularios y estado de sesión. |
|
WPF1 |
-Soluciona un problema cuando la revisión ortográfica está habilitada en un TextBox o RichTextBox de WPF, las palabras como "etc.", "por ejemplo" se identifican como errores ortográficos de forma incorrecta. : Trata un problema cuando algunas aplicaciones WPF de reconocimiento por monitor que se ejecutan en .NET 4,8 pueden encontrarse en ocasiones un bloqueo con exceptionSystem. ComponentModel. Win32Exception. : Soluciona un problema en el que TextBlock refluye (toma diferentes decisiones de saltos de línea) durante el procesamiento y la prueba de posicionamiento, frente a durante la medición. Los síntomas incluyen texto que falta y FailFast se bloquea durante el procesamiento de texto mediante programación. : Trata un problema con un error de subproceso de representación causado por HostVisual desconectando su destino en el subproceso equivocado. : Trata un problema con un bloqueo mientras se desplaza un control TreeView cuyo árbol no es uniforme, en el sentido de que los elementos secundarios del nodo conforman subárboles cuyo tamaño es bastante diferente. : Trata un problema con un bloqueo que puede producirse al cerrar una información sobre herramientas que se ha cerrado de manera reentrada por el código de usuario. -Cuando una HwndHost deja el árbol visual, se crea un seguimiento de pila. Esto es caro y, por lo general, innecesario. Ahora, la lógica se ha modificado para crear el seguimiento de la pila solo cuando se produzca la condición anómala. : Soluciona una pérdida de memoria en System. Speech. SpeechSynthesizer. -El comando Copiar de DataGrid inicia una excepción si el Portapapeles del sistema está bloqueado por otro proceso. Esto se bloquea, ya que normalmente no hay código de aplicación en la pila para detectar la excepción. El comportamiento de TextBox (y otras aplicaciones como Notepad, Word, browsers) en esta situación es dar error: no se puede copiar nada en el portapapeles, pero ninguna excepción. Ahora, una aplicación WPF puede optar por este comportamiento estableciendo <appSettings> <agregar clave = "ShouldThrowOnDataGridCopyOrCutFailure" Value = "false"/> </appSettings>en su archivo app. config. : Trata un problema al construir el modelo interno para un documento de FixedPage. Parte del texto aparecía en el orden equivocado para las operaciones de edición, como la selección y copiar y pegar. |
|
WCF2 |
-Al usar un nombre de usuario UPN de Windows con el formato parecido a username@dns. domain en la propiedad username de una NetworkCredential cuando se usa NetTcpBinding o NetNamedPipeBinding, WCF dividió incorrectamente el nombre de usuario y DNS. el dominio los coloca en las propiedades de nombre de usuario y dominio. Esto no es válido en algunos escenarios y daría lugar a errores de autenticación. Esta corrección quita la modificación de las credenciales al usar un nombre de usuario UPN. La modificación se puede volver a habilitar si se establece el valor de AppSetting "WCF: enableLegacyUpnUsernameFix" como true. |
|
Bibliotecas de red |
: Trata una pérdida de memoria en HttpListener. |
|
Winforms |
: Soluciona un problema con el estado de DataGridView IsReadOnlyaccessibility: narrador y otra herramienta accesible anuncia el estado de las celdas de solo lectura. -Trata una regresión en .NET Framework 4,8 cuando las aplicaciones que usan el tipo de celda de cuadro combinado de DataGridView y han optado por la accesibilidad de nivel 3, puede experimentar bloqueos intermitentes al editar la celda. : Trata un problema en el código de verificación de marca de tiempo de ClickOnce RFC3161. |
|
Mejoras en la accesibilidad de WinForms |
En esta versión, agregamos nuevas mejoras de accesibilidad en las que la aplicación puede optar. De forma predeterminada, estos cambios están deshabilitados. Las aplicaciones que participan en las características de accesibilidad introducidas en .net 4,8 y versiones anteriores pueden agregar el siguiente parámetro de compatibilidad al archivo de configuración de la aplicación: "Switch.UseLegacyAccessibilityFeatures.4=false" En concreto, si una aplicación está destinada a .NET 4,8, agregue la siguiente secciónde 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> Si una aplicación está destinada a una versión anterior de Framework y opta en los conjuntos de características de accesibilidad de versiones anteriores, agregue un solo "Switch.UseLegacyAccessibilityFeatures.4=false" cambiar al AppContextSwitchOverrides sección <?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> Las mejoras de accesibilidad de WinForms incluidas en esta versión son:
|
1 Common Language Runtime (CLR)1 Windows Presentation Foundation (WPF)2 Windows Communication Foundation
Problemas conocidos en esta actualización
Aplicaciones de Windows Presentation Framework (WPF) que usan dos o más elementos HostVisual que pertenecen a un subproceso común, donde los dos elementos HostVisual se les pide que se desconecten de su destino visual aproximadamente al mismo tiempo, el correo electrónico produce el error siguiente:
Tipo de excepción: System. COMException Mensaje: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406) Pila de llamadas: el marco superior es System. Windows. Media. Composition. DUCE + Channel. SyncFlush ()
Correccion
Puede deshabilitar la solución problemática si configura el modificador AppContext "switch. System. Windows. Media. HostVisual. DisconnectsOnWrongThread" como true, con uno de los métodos que se describen en este artículo. Esto expone la aplicación al error original, por lo que debes quitar el modificador una vez que se publique una corrección en una próxima actualización.
Solución alternativa 1
• Agregue la siguiente entrada al archivo app. config para deshabilitar la corrección problemática en una sola aplicación.
<runtime> <AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/> </runtime>
Tenga en cuenta que si la configuración de la aplicación ya tiene una entrada para <> AppContextSwitchOverrides, tendrá que agregar la nueva configuración dentro de esa entrada, separada de otros modificadores por un punto y coma:
<AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
Solución alternativa 2
• Aplique la siguiente subclave del registro para deshabilitar la solución problemática para todas las aplicaciones de WPF en el equipo. Aparecerá Pueden surgir problemas graves si modifica incorrectamente el registro con el editor del registro o con otro método. Estos problemas pueden requerir que reinstale el sistema operativo. Microsoft no puede garantizar la solución de estos problemas. Modifique el Registro bajo su propia responsabilidad.
Ubicación: HKEY_LOCAL_MACHINE \Software\Microsoft\. NETFramework\AppContext\ Name: switch. System. Media. HostVisual. DisconnectsOnWrongThread Tipo: cadena Valor: verdadero
Tenga en cuenta que en los sistemas operativos de 64 bits, también necesita aplicar una subclave del registro con el mismo nombre, tipo y valor en la ubicación: HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\. NETFramework\AppContext\
Solución
Estamos trabajando en una solución y proporcionaremos una actualización en una próxima versión.
Información adicional acerca de esta actualización
Los artículos siguientes contienen información adicional sobre esta actualización en relación con las versiones de producto individuales.
-
4567327Descripción de la vista previa de actualizaciones acumulativas para .NET Framework 3,5, 4.7.2 y 4,8 para windows 10 versión 1809 y Windows Server 2019 (KB4567327)
Cómo obtener e instalar la actualización
Instale esta actualización.
Canal de lanzamiento |
Disponible |
Siguiente paso |
Windows Update y Microsoft Update |
Sí |
Para descargar e instalar esta actualización, vaya a configuración > actualizar & seguridad > Windows Updatey, después, seleccione Buscar actualizaciones. |
Catálogo de Microsoft Update |
Sí |
Para obtener el paquete independiente de esta actualización, vaya al sitio web del Catálogo de Microsoft Update. |
Windows Server Update Services (WSUS) |
No |
Puede importar esta actualización en WSUS de forma manual. Consulte el Catálogo de Microsoft Update para obtener instrucciones. |
Información de archivo
Para obtener una lista de los archivos que se proporcionan en esta actualización, descargue la información de archivo para la actualización acumulativa.
Requisitos previos
Para aplicar esta actualización, debe tener instalado .NET Framework 3,5 o 4,8 .
Requisito de reinicio
Debe reiniciar el equipo después de aplicar esta actualización si se utilizan los archivos afectados. Le recomendamos que cierre todas las aplicaciones basadas en .NET Framework antes de aplicarla.
Cómo obtener ayuda y soporte técnico para esta actualización
-
Ayuda para la instalación de actualizaciones: Windows Update: preguntas frecuentes
-
Protéjase en línea y en el hogar: Soporte técnico de Seguridad de Windows
-
Soporte local según el país: Soporte internacional