Llegamos a ustedes gracias a:



Noticias

Microsoft .NET 5 añade advertencias de seguridad para C#

[04/09/2020] La planeada plataforma de desarrollo de software .NET 5 de Microsoft produce advertencias seguras para el compilador de C# y automáticamente encuentra errores latentes.

Con .NET 5, una nueva capacidad llamada AnalysisLevel introduce advertencias de una manera que alerta a los desarrolladores de que algo está mal. El AnalysisLevel por defecto para todos los proyectos que tengan como objetivo el .NET 5 se fijará en 5, lo que proporciona un nuevo análisis del lenguaje del compilador. Esto significa que se introducirán más advertencias y sugerencias para corregirlas.

Microsoft ha tenido muchos casos a lo largo de los años en los que ha querido proporcionar advertencias de que algo iba mal en un proyecto de codificación C#, que van desde errores comunes de codificación, hasta patrones de uso indebido de la API. Pero la compañía ha sido reacia a hacerlo debido al problema del cambio de ruptura. Con AnalysisLevel, se introducen advertencias para los patrones de forma segura.

.NET 5 se encuentra actualmente en una etapa de previsualización, con la versión de producción prevista para noviembre. La compañía detalló su plan de advertencias del compilador C# en un boletín publicado el 27 de agosto. El boletín señalaba que todos los nuevos proyectos .NET serán optados en el AnalysisLevel 5. Aquí hay algunas nuevas advertencias de nivel 5 y sugerencias para .NET 5:

  • CA1416, una advertencia de interoperabilidad para advertir cuando el código no funciona en todas las plataformas.
  • CA2247, una advertencia de uso para preservar los detalles del stack.
  • CSO185, un error de corrección para no permitir bloqueos en tipos no de referencia.

Anteriormente, .NET requería la instalación de paquetes NuGet u otras herramientas independientes para permitir un análisis de código más profundo. El SDK de .NET 5 proporciona esto automáticamente. Los planes futuros requieren un nuevo AnalysisLevel para cada versión de .NET. Esto tiene como objetivo asegurar que un nivel de análisis dado siempre represente el mismo conjunto de valores predeterminados de análisis -las reglas y sus severidades. La activación de una regla existente por defecto se haría en un próximo AnalysisLevel en lugar de cambiar el nivel existente. Esto asegura que un proyecto dado produce la misma advertencia independientemente de la versión del SDK, a menos que el proyecto utilice la vista previa o la última.