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
- 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.
- 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.
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.- Instala VS Code si aún no lo hiciste.
Otorga roles de Identity and Access Management (IAM)
Console
Para otorgar los roles de IAM para tu Google Cloud proyecto, ve a la página IAM y administración.
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)
- Usuario de objetos de almacenamiento (
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)
- Cuenta de servicio de Cloud Build (
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:
En VS Code, navega a Extensiones en la barra de actividades.
Haz clic en more_horiz Vistas y más acciones y selecciona Instalar desde VSIX.
Navega hasta el archivo de paquete VSIX y selecciónalo. Esto inicia la instalación de la extensión
Code-modernization-for-dotneten VS Code en tu máquina local.Una vez completada la instalación, reinicia VS Code.
Actualiza la configuración de
Code Modernization for .NET extensiona 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.
- Modo de extensión:
Activa la compilación
Para acceder a Google Cloud, ejecuta el siguiente comando:
gcloud auth login --update-adcPara 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.