Moderniza tu aplicación .NET

La modernización de código para .NET, potenciada por los modelos de IA generativa de Gemini, es una herramienta de generación de código y modernización de aplicaciones. Te ayuda a modernizar tus aplicaciones de Microsoft .NET Framework que dependen de Windows refactorizando tus aplicaciones en código .NET multiplataforma.

Las aplicaciones .NET multiplataforma, a diferencia de las aplicaciones de .NET Framework, se pueden ejecutar en Linux, lo que elimina la necesidad de licencias de Windows y habilita capacidades nativas de la nube, incluida la creación de contenedores.

En esta guía, otorgarás roles de IAM para tu proyecto de Trusted Cloud, crearás un bucket de Cloud Storage, crearás una clave de la API de Gemini y, luego, instalarás la extensión de code-modernization-for-dotnet en tu máquina local para refactorizar tu aplicación de .NET Framework en código .NET multiplataforma.

Antes de comenzar

  1. Crea una Cuenta de Google si aún no tienes una. Puedes usar cualquier dirección de correo electrónico para crear una Cuenta de Google, incluida tu dirección de correo electrónico laboral.
  2. Envía el formulario de solicitud de lista de entidades permitidas de Modernización de código para .NET para unirte a la lista de entidades permitidas. No podrás continuar con los pasos de esta página hasta que se apruebe esta solicitud.
  3. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  4. Verify that billing is enabled for your Trusted Cloud project.

  5. Enable the Cloud Build, Secret Manager, Cloud Storage JSON API, Generative Language API, Cloud Logging, and Compute Engine APIs.

    Enable the APIs

  6. Instala VS Code si aún no lo hiciste.
  7. Otorga roles de Identity and Access Management (IAM)

    Console

    1. Para otorgar los roles de IAM para tu proyecto Trusted Cloud , ve a la página IAM y administración.

      Ir a IAM y administración

    2. Agrega los siguientes roles de IAM:

    • Permisos del usuario

      • Usuario de objetos de almacenamiento (roles/storage.objectUser)
      • Editor de Cloud Build (roles/cloudbuild.builds.editor)
    • Cuenta de servicio de Cloud Build

      • Cuenta de servicio de Cloud Build (roles/cloudbuild.builds.builder)
      • Visualizador de Secret Manager (roles/secretmanager.viewer)
      • Escritor de registros (roles/logging.logWriter)
      • Usuario de objetos de almacenamiento (roles/storage.objectUser)

    gcloud

    Para agregar los roles de IAM necesarios, ejecuta los siguientes comandos de gcloud:

    • Asigna el rol de usuario de objetos de almacenamiento (roles/storage.objectUser):

      gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="user:USER_ID" \
      --role="roles/storage.objectUser"
      
    • Asigna el rol de editor de Cloud Build (roles/cloudbuild.builds.editor):

      gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="user:USER_ID" \
      --role="roles/cloudbuild.builds.editor"
      
    • Asigna el rol de Cuenta de servicio de Cloud Build (roles/cloudbuild.builds.builder):

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT" \
        --role="roles/cloudbuild.builds.builder"
      
    • Asigna el rol de Secret Manager Accessor (roles/secretmanager.secretAccessor):

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT" \
        --role="roles/secretmanager.secretAccessor"
      
    • Asigna el rol de escritor de registros (roles/logging.logWriter):

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT" \
        --role="roles/logging.logWriter"
      
    • Asigna el rol de usuario de objetos de almacenamiento (roles/storage.objectUser):

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT" \
        --role="roles/storage.objectUser"
      

    Cree un bucket de Cloud Storage

    Para crear un bucket de Cloud Storage, ejecuta el siguiente comando:

    gcloud storage buckets create gs://BUCKET_NAME \
    --project=PROJECT_ID
    

    Crea una clave de API de Gemini y guárdala en Secret Manager

    Para crear una clave de la API de Gemini, ejecuta el siguiente comando:

    gcloud services api-keys create --project=PROJECT_ID \
      --display-name="API Key for .Net Modernization" \
      --api-target="service=generativelanguage.googleapis.com" \
      --key-id="gemini-api-key"
    

    Para guardar la clave de la API de Gemini en Secret Manager, ejecuta el siguiente comando:

    echo -n "(gcloud services api-keys get-key-string gemini-api-key \
    --project=PROJECT_ID \
    --format="value(keyString)")" | \
    
    gcloud secrets create "gemini-api-key" \
    --project=PROJECT_ID \
    --data-file=- \
    --replication-policy="automatic"
    

    Instala y configura la extensión

    Una vez que se apruebe tu formulario de solicitud de lista de entidades permitidas para la modernización de código de .NET, recibirás la extensión como un archivo .VSIX. Para instalar la extensión en tu máquina local, sigue estos pasos:

    1. En VS Code, navega a Extensiones en la barra de actividades.

    2. Haz clic en more_horiz Vistas y más acciones y selecciona Instalar desde VSIX.

    3. Navega hasta el archivo del paquete VSIX y selecciónalo. Esto inicia la instalación de la extensión Code-modernization-for-dotnet en VS Code en tu máquina local.

    4. Una vez que se complete la instalación, reinicia VS Code.

    5. Actualiza la configuración de Code Modernization for .NET extension de la siguiente manera:

      • Modo de extensión: LocalGit (experimental)
      • Project ID (ID del proyecto): PROJECT_ID
      • Nombre del bucket: BUCKET_NAME
      • Región: us-central1
      • Secreto de la API de Gemini: gemini-api-key-secret-name
      • Cuenta de Google: GOOGLE_ACCOUNT
      • Framework de destino: .NET 8.0

      Reemplaza lo siguiente:

      • PROJECT_ID: Es el ID de tu proyecto Trusted Cloud, por ejemplo, 1234567890.
      • BUCKET_NAME: Es el nombre de tu bucket de Cloud Storage.
      • GOOGLE_ACCOUNT: Tu Cuenta de Google, por ejemplo, your_full_name@gmail.com

    Activa la compilación

    1. Para acceder a Trusted Cloud, ejecuta el siguiente comando:

      gcloud auth login --update-adc
      
    2. Para activar el flujo de trabajo de modernización, en la barra de actividades, selecciona Control de código fuente, haz clic en more_horiz Más acciones para abrir el menú contextual y selecciona Google Cloud: Modernizar código de .NET.

    Agrega tu proyecto a la lista de entidades permitidas

    Para que tu proyecto se incluya en la lista de entidades permitidas, envía por correo electrónico el ID de tu cuenta de servicio de Cloud Build a code-modernization-for-dotnet-discuss@google.com.

    También puedes comunicarte con la misma dirección de correo electrónico para obtener asistencia, hacer preguntas o proporcionar comentarios.