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 mediante la refactorización de tus aplicaciones en código .NET multiplataforma.

Las aplicaciones .NET multiplataforma, a diferencia de las aplicaciones .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 Google Cloudproyecto, crearás un bucket de Cloud Storage, crearás una clave de API de Gemini y, además, instalarás la extensión code-modernization-for-dotnet en tu máquina local para refactorizar tu aplicación .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 Code Modernization for .NET para unirte a la lista de entidades permitidas. No puedes continuar con los pasos de esta página hasta que se apruebe esta solicitud.
  3. Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  10. Instala VS Code si aún no lo hiciste.

Otorga roles de Identity and Access Management (IAM)

Console

  1. Para otorgar los roles de IAM para tu Google Cloud proyecto, 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)
    • Descriptor de acceso de secretos de Secret Manager (roles/secretmanager.secretAccessor)
    • 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 gcloud:

  • Asigna el rol 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 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 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 Descriptor de acceso de secretos de Secret Manager (roles/secretmanager.secretAccessor):

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/secretmanager.secretAccessor"
    
  • Asigna el rol 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 Usuario de objetos de almacenamiento (roles/storage.objectUser):

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

Crea un bucket de Cloud Storage

Para crear un bucket de Cloud Storage, ejecuta lo siguiente:

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

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

Para crear una clave de API de Gemini, ejecuta lo siguiente:

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 API de Gemini en Secret Manager, ejecuta lo siguiente:

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 de modernización de código para Code Modernization for .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 de 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 completada la instalación, reinicia VS Code.

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

    • Modo de extensión: Version 2
    • Project ID: PROJECT_ID
    • Bucket Name: BUCKET_NAME
    • Región: us-central1
    • Secreto de API de Gemini: gemini-api-key
    • Cuenta de Google: GOOGLE_ACCOUNT
    • Framework de destino: .NET 8.0

    Reemplaza lo siguiente:

    • PROJECT_ID: El ID de tu Google Cloud proyecto, por ejemplo, 1234567890.
    • BUCKET_NAME: 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 Google 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: Modernize .NET code.

Agrega tu proyecto a la lista de entidades permitidas

Para agregar tu proyecto a la lista de entidades permitidas, envía un correo electrónico con 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 enviar comentarios.