Start Debugging

Etiqueta: csharp

315 posts · Página1de32

Cómo agregar la clave pública completa de un ensamblado con nombre seguro a InternalsVisibleTo en un proyecto de estilo SDK
Un ensamblado firmado debe nombrar a su ensamblado de confianza por la clave pública completa de 320 caracteres, no por el token, o la compilación falla con CS1726 o CS0281. Obtén la clave con sn -p y sn -tp, o con un script de .NET multiplataforma, y luego ponla en el metadato Key de un elemento InternalsVisibleTo en el .csproj. Cubre el respaldo de la propiedad PublicKey, la clave de DynamicProxyGenAssembly2 de Moq y la trampa de los saltos de línea.
Cómo detectar los eventos de bloqueo, desbloqueo, inicio y cierre de sesión de Windows en una app de C#
Usa SystemEvents.SessionSwitch en una app de escritorio o de consola, sobrescribe OnSessionChange en un servicio de Windows, o engancha WM_WTSSESSION_CHANGE tú mismo. Incluye código de .NET 10 para los tres enfoques, el hilo oculto '.NET System Events', por qué los servicios ven el inicio de sesión y las apps de escritorio no, las notificaciones fuera de orden y cómo consultar el estado de bloqueo actual con WTSQuerySessionInformation.
Siguiente