Excel en ASP .NET con VS 2022 (VB y C#)

Mostrar una hoja de cálculo de Excel en una página web dinámica aspx usando un rango de celdas como origen de datos de un DataGrid, en C# y en VB

ADO .NET proporciona métodos para conectar con diferentes almacenes de datos. En este ejercicio se utilizan clases pertenecientes a los espacios de nombres System.Data y System.Data.OleDb para conectar con una hoja de cálculo de Microsoft Excel. Un grupo de celdas de la hoja de cálculo, englobadas en un rango con nombre, hace la función de tabla del DataSet que es mostrada en el DataGrid.

Leer más

macOS 13 Ventura en Z390 Aorus Elite


Cómo instalar macOS 12 Monterey o macOS 13 Ventura en la placa base Gigabyte Z390 Aorus Elite usando OpenCore. Se proponen configuraciones para tener la tarjeta AMD RX 6600 como tarjeta principal y la integrada en modo sin cable o para tener la iGPU Intel como tarjeta única sin dGPU. La carpeta EFI está disponible para diferentes SMBIOS.

Nota: enlace para descargar la carpeta EFI disponible al final del artículo. Actualizada a OpenCore 0.9.1.

Hardware

  • Placa base Gigabyte Z390 Aorus Elite
  • Procesador Intel i7 9700
  • Gráficos iGPU Intel UHD 630
  • dGPU AMD Radeon RX 6600 8GB
  • Sonido Realtek ALC1220
  • Ethernet Intel I219V7
  • Wifi + BT Fenvi FV-T919 (BCM94360CD).

¿Qué funciona bien?

  • Tarjeta gráfica Radeon (VDA decoder Fully Supported)
  • Apagado, reinicio y reposo
  • Sonido (ALC1220, HDMI)
  • Puertos USB (mapa de puertos USB específico para esta placa)
  • AirDrop, iMessage.

Leer más

Cambiar de OpenCore 0.8.7 a 0.8.8

Ya se ha lanzado OpenCore 0.8.8, puedes obtenerlo en Acidanthera. Aunque no hay novedades en cuanto al archivo config.plist, hay muchos cambios en otros componentes de OpenCore. Sólo hay que remarcar que ha habido casi 40 compilaciones a lo largo del mes. Son cambios importantes a nivel de código para tener un OpenCore más maduro y mejor.

Lee el mensaje de PMheart, no hay mejor lugar para tener una idea general de los cambios realizados y sus autores.

Cambios principales

  • Se ha actualizado AppleKeyboardLayouts.txt desde macOS 13.1.
  • Se han actualizado las versiones de firmware para los modelos SMBIOS.
  • Se ha actualizado ocvalidate para permitir herramientas duplicadas si la propiedad FullNvramAccess es diferente.
  • Se ha añadido .contentVisibility para ocultar entradas de arranque en el selector: una entrada es excluida si hay un archivo oculto .contentVisibility junto al boot loader o dentro del directorio de arranque con el contenido Disabled an ASCII. La entrada es marcada como auxiliar si su archivo .contentVisibility contiene la palabra Auxiliary.
  • Se ha corregido la compilación en máquinas Apple Silicon.
  • Se ha añadido soporte para SD card como dispositivo de arranque.

Leer más

Temas en el menú de OpenCore

Desde la versión 0.7.0 de OpenCore existe la posibilidad de tener más de un tema en la carpeta /Resources/Image, organizados por carpetas Autor/Tema, cambiando de tema de forma relativamente simple. Hay muchos temas disponibles. En este artículo voy a comentar sobre algunos de los que más me gustan.

Los requerimientos básicos para disponer de interfaz gráfica en el selector de OpenCore (en caso contrario se muestra en modo texto) son:

  • Instalar el driver OpenCanopy.efi (carpeta Drivers y config.plist)
  • Misc -> Boot -> PickerMode = External
  • Completar la carpeta EFI/Resources con los recursos descargados desde Acidanthera ya que no vienen incluidos en el paquete de OpenCore. Se componen de las carpetas Audio, Font, Image y Label.

Para utilizar temas en OpenCore 0.7.0 y siguientes hay que activar el sistema Flavours. Esto lo puedes hacer de forma sencilla actuando sobre 2 claves del archivo config.plist:

Leer más

Cambiar de OpenCore 0.8.6 a 0.8.7

OpenCore 0.8.7 está disponible. Puedes obtenerlo en Acidanthera. Es muy recomendable leer el mensaje de PMheart, el mejor resumen con los cambios introducidos y sus autores.

Cambios principales

  • MacHyperVSupport: numerosos cambios y mejoras (lee el Changelog de la extensión)
  • Arreglado TSC/FSB para procesadores AMD en ProvideCurrentCpuInfo.
  • macrecovery descarga archivos en com.apple.recovery.boot de forma predefinida.
  • Mejorado el menú gráfico de arranque propio de Apple (BootKicker.efi) en algunos sistemas después de reiniciar.
  • Misc -> Boot -> se ha añadido HibernateSkipsPicker (Boolean): para no mostrar el selector de OpenCore al salir de hibernación.

config.plist

Misc -> Boot -> añadido HibernateSkipsPicker (Boolean), valor predefinido es false para los Hackintosh y true para los Mac cuando se usa OCLP.

Leer más

RX 6600 XT en macOS con PowerPlayTable

La tecnología PowerPlay de AMD permite que la tarjeta gráfica varíe su rendimiento de acuerdo con la demanda, cambiando entre rendimiento elevado y ahorro máximo de energía. Tiene modos de funcionamiento automático según parámetros predefinidos y también permite ajustes de usuario.
Windows 10 y 11 pueden hacer una copia de estos perfiles de consumo en forma de una clave del registro llamada SoftPowerPlayTables (sPPT) cuyo valor es una cadena hexadecimal larga. Es una manera de tener una referencia rápida por parte del sistema operativo. Esta clave sPPT puede ser leída y modificada por algunas utilidades. Gracias a ello es posible modificar parámetros del funcionamiento de las Radeon cambiando su comportamiento y su gestión de energía.

Nota (abril de 2023)

Hay usuarios con las últimas versiones de macOS Ventura (actualmente la 13.4) comentando que parece haberse perdido la opción de deshabilitar la función Zero RPM cuando se utiliza la cadena SoftPowerPlayTable (SPPT). Incluso con ella cargada desde el archivo config.plist de OpenCore, los ventiladores de la GPU están la mayor parte del tiempo parados y la temperatura oscila entre 50 y 55º (aproximadamente 10º más que en Windows), igual que ocurre sin SPPT. Lo he podido comprobar por mí mismo aunque no estoy seguro de a partir de qué actualización ha dejado de funcionar.

Hay una manera de recuperar la función perdida. Al modificar el archivo de la vBIOS en Windows con MorePowerTool, en lugar de desactivar Zero RPM (desmarcando su casilla de opción) se deja activada (casilla marcada) pero se modifican las temperaturas a la que arrancan y se paran los ventiladores. Por defecto están configuradas así: Stop Temperature 50º y Start Temperature 60º.

Yo he probado ajustando Start Temperatura a 40º y Stop temperature a 35º, he creado la nueva clave del registro (Write SPPT) y la he exportado hasta el archivo config.plist de OpenCore. Con esta modificación, en macOS los ventiladores arrancan y paran con la temperatura de la GPU oscilando entre 35 y 40º, consiguiendo un resultado similar al que se había perdido. El rendimiento en GeekBench 6 es el esperado, 98000 – 114000 con un modelo RX 6600 XT.

Zero RPM

Las tarjetas AMD Radeon de las series 5000 y 6000 vienen de fábrica con la función Zero RPM activada de forma que los ventiladores están parados por debajo de una temperatura (generalmente 60º), esto las hace completamente silenciosas excepto cuando el procesador gráfico es exigido (tests, juegos, etc.).

En cuanto a los modelos RX 6600 y 6600 XT se ha comentado que, en macOS, suelen funcionar a una temperatura base más elevada que en Windows, aproximadamente 10-15º según los casos. En mi PC, por ejemplo, la temperatura base en Windows es 35-40º y en macOS es 50-55º. Aunque se trata de temperaturas seguras perfectamente válidas para un uso diario, algunos usuarios preferiríamos tener unos valores similares a los de Windows.

La manera más rápida y efectiva de conseguirlo es desactivando la función Zero RPM para que los ventiladores estén girando todo el tiempo y no sólo por encima de una temperatura predefinida. Sin embargo, esto es muy sencillo de hacer en Windows con el software Radeon pero en macOS no existe esta opción.

Leer más

Cambiar de OpenCore 0.8.5 a 0.8.6

OpenCore 0.8.6 está disponible. Puedes descargarlo desde Acidanthera. Lee el mensaje de PMHeart, el mejor resumen de las novedades.

Cambios principales

  • Mejoras en MacHyperVSupport.
  • Corregido error en la duración del clic simple y la velocidad del clic doble cuando se usan ratones con tasa de sondeo (polling rate) no estándar.
  • Añadido el soporte para dwell-clicking por Marvin Häuser. Lee esto en el bug tracker.
  • Actualizadas las versiones de firmware para SMBIOS.
  • Mejoras en NVRAM emulada:
    • actualizada la manera de guardar el script para que sea instalado automáticamente como launch daemon (Yosemite o posteriores) or logout hook (Mavericks y anteriores)
    • arreglado el fallo al salir del reposo en sistemas con EFI 1.1 (incluidos antiguos Mac) cuando se utiliza el driver de NVRAM emulada
    • OpenVariableRuntimeDxe: no configurar elementos UEFI 2.x en EFI 1.x (equipos antiguos y firmware Apple).
  • Actualizado SSDT-BRG0 con comprobación específica para macOS y evitar problemas de compatibilidad en Windows.
  • Actualizados los comandos para macOS 12 y 13 en macrecovery.

Leer más

Cambiar de OpenCore 0.8.4 a 0.8.5

Ya ha salido OpenCore 0.8.5. Cada vez más maduro y sin necesidad de tocar el archivo config.plist en esta ocasión. Puedes obtenerlo en Acidanthera. También está disponible el mensaje de PMHeart con las novedades y sus autores, es recomendable leerlo.

Cambios principales

  • AcpiSamples: SSDT-HV-DEV ha sido dividido en 2 SSDT diferentes, SSDT-HV-DEV-WS2022 para Windows Server 2022 y SSDT-HV-DEV para el resto de versiones.
  • Corregidas las rutas al disco de arranque en Hyper-V para permitir la conexión y desconexión de discos en caliente.
  • Actualizadas las versiones de firmware para los modelos de SMBIOS.

config.plist

Nada que cambiar.

Leer más

Cambiar de OpenCore 0.8.3 a 0.8.4

Ya está disponible OpenCore 0.8.4. Puedes obtenerlo desde Acidanthera. Pocos cambios en el archivo config.plist pero, como siempre, varias modificaciones en el código que mejoran su comportamiento.

Cambios principales

  • Misc >> tools: se ha añadido la propiedad FullNvramAccess (Boolean) para las herramientas que requieren acceso directo a NVRAM. Deshabilita las protecciones que OpenRuntime.efi aplica a la NVRAM durante el tiempo que la herramienta está en uso. Déjalo como False excepto que lo necesites específicamente.
  • UEFI >> Drivers >> LoadEarly: se han añadido comprobaciones a ocvalidate para ajustarse a las directrices que regulan el uso del driver OpenVariableRuntimeDxe:
    • Cuando OpenVariableRuntimeDxe.efi está en uso, su opción LoadEarly debe ajustarse a TRUE.
    • Cuando OpenVariableRuntimeDxe.efi está en uso, debe ir antes de OpenRuntime.efi en la lista de Drivers y su opción LoadEarly también debe ajustarse a TRUE.
    • LoadEarly para cualquier otro driver excepto OpenVariableRuntimeDxe.efi y OpenRuntime.efi en el escenario anterior ha de ser FALSE.

Leer más

OpenCore Vault con UEFI Secure Boot

Instrucciones para funcionar con UEFI Secure Boot y OpenCore Vault simultáneamente en caso de que se quiera disponer de la máxima seguridad a la hora de arrancar nuestro sistema macOS con OpenCore.

Hay usuarios que desean tener la máxima seguridad en sus ordenadores con macOS y para ello implementan las 3 cadenas de seguridad disponibles:

  • Apple Secure Boot: para garantizar la integridad y confiabilidad de la versión de macOS
  • OpenCore Vault: para garantizar la integridad de los archivos de OpenCore
  • UEFI Secure Boot (UEFi SB): para garantizar que la versión de Windows es de confianza.

Puedes leer sobre estos 3 sistemas en estos artículos:

Leer más