La modernizzazione del codice per .NET, basata sui modelli di AI generativa Gemini, è uno strumento di generazione del codice e modernizzazione delle applicazioni. Ti aiuta a modernizzare le tue applicazioni Microsoft .NET Framework dipendenti da Windows eseguendo il refactoring delle applicazioni in codice .NET multipiattaforma.
Le applicazioni .NET multipiattaforma, a differenza delle applicazioni .NET Framework, possono essere eseguite su Linux, eliminando la necessità di licenze Windows e attivando funzionalità cloud-native, inclusa la containerizzazione.
In questa guida, concederai i ruoli IAM per il tuo progetto Google Cloud, creerai un bucket Cloud Storage, creerai una chiave API Gemini e installerai l'estensione code-modernization-for-dotnet
sulla tua macchina locale per eseguire il refactoring dell'applicazione .NET Framework in codice .NET multipiattaforma.
Prima di iniziare
- Crea un Account Google, se non ne hai già uno. Puoi utilizzare qualsiasi indirizzo email per creare un Account Google, incluso il tuo indirizzo email di lavoro.
- Invia il modulo di richiesta di inserimento nella lista consentita per la modernizzazione del codice per .NET per entrare a far parte della lista consentita. Non puoi procedere con i passaggi descritti in questa pagina finché la richiesta non sarà approvata.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. Learn how to grant roles. - Installa VS Code, se non l'hai ancora fatto.
Per concedere i ruoli IAM per il tuo Google Cloud progetto, vai alla pagina IAM e amministrazione.
Aggiungi i seguenti ruoli IAM:
Autorizzazioni utente
- Storage Object User (
roles/storage.objectUser
) - Editor Cloud Build (
roles/cloudbuild.builds.editor
)
- Storage Object User (
Service account Cloud Build
- Service account Cloud Build (
roles/cloudbuild.builds.builder
) - Secret Manager Viewer (
roles/secretmanager.viewer
) - Writer log (
roles/logging.logWriter
) - Storage Object User (
roles/storage.objectUser
)
- Service account Cloud Build (
Assegna il ruolo Storage Object User (
roles/storage.objectUser
):gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:USER_ID" \ --role="roles/storage.objectUser"
Assegna il ruolo Editor Cloud Build (
roles/cloudbuild.builds.editor
):gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:USER_ID" \ --role="roles/cloudbuild.builds.editor"
Assegna il ruolo Service Account Cloud Build (
roles/cloudbuild.builds.builder
):gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT" \ --role="roles/cloudbuild.builds.builder"
Assegna il ruolo Funzione di accesso a Secret Manager (
roles/secretmanager.secretAccessor
):gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT" \ --role="roles/secretmanager.secretAccessor"
Assegna il ruolo Writer log (
roles/logging.logWriter
):gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT" \ --role="roles/logging.logWriter"
Assegna il ruolo Storage Object User (
roles/storage.objectUser
):gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT" \ --role="roles/storage.objectUser"
In VS Code, vai a Estensioni nella barra delle attività.
Fai clic su more_horiz Visualizzazioni e altre azioni e seleziona Installa da VSIX.
Individua e seleziona il file del pacchetto VSIX. In questo modo viene avviata l'installazione dell'estensione
Code-modernization-for-dotnet
in VS Code sulla tua macchina locale.Al termine dell'installazione, riavvia VS Code.
Aggiorna le impostazioni di
Code Modernization for .NET extension
come segue:- Modalità Estensione:
LocalGit (experimental)
- ID progetto:
PROJECT_ID
- Nome bucket:
BUCKET_NAME
- Regione:
us-central1
- Segreto dell'API Gemini:
gemini-api-key-secret-name
- Account Google:
GOOGLE_ACCOUNT
- Framework di destinazione:
.NET 8.0
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progetto Google Cloud, ad esempio1234567890
.BUCKET_NAME
: il nome del tuo bucket Cloud Storage.GOOGLE_ACCOUNT
: il tuo Account Google, ad esempioyour_full_name@gmail.com
.
- Modalità Estensione:
Per accedere a Google Cloud, esegui il seguente comando:
gcloud auth login --update-adc
Per attivare il flusso di lavoro di modernizzazione, nella barra delle attività seleziona Controllo del codice sorgente, fai clic su more_horiz Altre azioni per aprire il menu contestuale e seleziona Google Cloud: Modernizza il codice .NET.
Concedere ruoli IAM (Identity and Access Management)
Console
gcloud
Per aggiungere i ruoli IAM richiesti, esegui i seguenti gcloud
comandi:
Crea un bucket Cloud Storage
Per creare un bucket Cloud Storage, esegui il comando seguente:
gcloud storage buckets create gs://BUCKET_NAME \
--project=PROJECT_ID
Crea la chiave API Gemini e salvala in Secret Manager
Per creare una chiave API Gemini, esegui questo 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"
Per salvare la chiave API Gemini in Secret Manager, esegui il seguente 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"
Installare e configurare l'estensione
Una volta approvato il modulo di richiesta di inclusione nella lista consentita per la modernizzazione del codice per .NET, riceverai l'estensione come file .VSIX
. Per installare l'estensione sul tuo computer locale, segui questi
passaggi:
Attivare la build
Aggiungere il progetto alla lista consentita
Per inserire il tuo progetto nell'elenco consentito, invia un'email con l'ID service account Cloud Build
all'indirizzo code-modernization-for-dotnet-discuss@google.com
.
Puoi anche contattare lo stesso indirizzo email per ricevere assistenza, porre domande o fornire feedback.