Code Modernization for .NET, basato sui modelli di AI generativa Gemini, è uno strumento di generazione di 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 Trusted 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 in questa pagina finché la richiesta non è stata approvata.
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.
-
Verify that billing is enabled for your Trusted Cloud project.
-
Enable the Cloud Build, Secret Manager, Cloud Storage JSON API, Generative Language API, Cloud Logging, and Compute Engine APIs.
- Installa VS Code, se non l'hai ancora fatto.
Per concedere i ruoli IAM per il tuo Trusted 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 Utente oggetti Storage (
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 Utente oggetti Storage (
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 Trusted 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 Trusted Cloud, esegui il comando seguente:
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 nell'allowlist 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 del tuo service account Cloud Build a code-modernization-for-dotnet-discuss@google.com
.
Puoi anche contattare lo stesso indirizzo email per ricevere assistenza, porre domande o fornire feedback.