Eventos
Compilación de Intelligent Apps
17 mar, 23 - 21 mar, 23
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Algunos de los problemas más comunes que se encuentran al trasladar código existente de .NET Framework a .NET son las dependencias de API y tecnologías que solo se encuentran en .NET Framework. El paquete de compatibilidad de Windows proporciona muchas de estas tecnologías, por lo que es mucho más fácil crear aplicaciones de .NET y bibliotecas de .NET Standard.
El paquete de compatibilidad es una extensión lógica de .NET Standard 2.0 que aumenta considerablemente el conjunto de API. El código existente se compila prácticamente sin modificaciones. Para mantener su promesa de "el conjunto de API que proporcionan todas las implementaciones de .NET", .NET Standard no incluye tecnologías que no puedan funcionar en todas las plataformas, como el Registro, Instrumental de administración de Windows (WMI) o las API de emisión de la reflexión. El paquete de compatibilidad de Windows está un nivel por encima de .NET Standard y proporciona acceso a estas tecnologías que solo son de Windows. Es especialmente útil para los clientes que quieren cambiar a .NET pero piensan permanecer en Windows, al menos como primer paso. En ese escenario, se pueden usar tecnologías solo de Windows para eliminar el obstáculo de la migración.
El paquete de compatibilidad de Windows se proporciona mediante el paquete NuGet Microsoft.Windows.Compatibility y se puede hacer referencia a él desde proyectos para .NET o .NET Standard.
Proporciona unas 20 000 API, incluidas API solo de Windows y de varias plataformas de las siguientes áreas tecnológicas:
Para más información, vea las especificaciones del paquete de compatibilidad.
Antes de migrar, asegúrese de echar un vistazo al proceso de migración.
Al trasladar código existente a .NET o .NET Standard, instale el paquete NuGet Microsoft.Windows.Compatibility.
Si quiere permanecer en Windows, ya está listo.
Si quiere ejecutar la aplicación de .NET o la biblioteca de .NET Standard en Linux o macOS, use el Analizador de compatibilidad de plataforma para informarse de las API que no funcionan entre plataformas.
Quite esas API, reemplácelas con alternativas multiplataforma o restrínjalas con una comprobación de plataforma, como:
private static string GetLoggingPath()
{
// Verify the code is running on Windows.
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
using (var key = Registry.CurrentUser.OpenSubKey(@"Software\Fabrikam\AssetManagement"))
{
if (key?.GetValue("LoggingDirectoryPath") is string configuredPath)
return configuredPath;
}
}
// This is either not running on Windows or no logging path was configured,
// so just use the path for non-roaming user-specific data files.
var appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
return Path.Combine(appDataPath, "Fabrikam", "AssetManagement", "Logging");
}
Para ver una demostración, vaya al vídeo de Channel 9 sobre el paquete de compatibilidad de Windows.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Eventos
Compilación de Intelligent Apps
17 mar, 23 - 21 mar, 23
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraCursos
Módulo
En este módulo, aprenderá cuándo, por qué y cómo modernizar una aplicación de ASP.NET Framework a ASP.NET Core utilizando el Asistente para actualización.
Certificación
Microsoft Certified: Power Platform Developer Associate - Certifications
Demostrar cómo simplificar, automatizar y transformar tareas y procesos empresariales mediante Microsoft Power Platform Developer.