Moderniser votre application .NET

La modernisation de code pour .NET, optimisée par les modèles d'IA générative Gemini, est un outil de génération de code et de modernisation d'applications. Elle vous aide à moderniser vos applications Microsoft .NET Framework qui dépendent de Windows en refactorisant vos applications en code .NET multiplate-forme.

Contrairement aux applications .NET Framework, les applications .NET multiplate-forme peuvent s'exécuter sous Linux, ce qui élimine le besoin de licences Windows et permet d'utiliser des fonctionnalités natives du cloud, y compris la conteneurisation.

Dans ce guide, vous allez accorder des rôles IAM à votre Google Cloud projet, créer un bucket Cloud Storage, créer une clé API Gemini et installer l'extension code-modernization-for-dotnet sur votre machine locale pour refactoriser votre application .NET Framework en code .NET multiplate-forme.

Avant de commencer

  1. Créez un compte Google si vous n'en possédez pas déjà un. Vous pouvez utiliser n'importe quelle adresse e-mail pour créer un compte Google, y compris votre adresse e-mail professionnelle.
  2. Envoyez le formulaire Demande d'ajout à la liste d'autorisation pour la modernisation de code pour .NET pour rejoindre la liste d'autorisation. Vous ne pouvez pas suivre les étapes de cette page tant que cette demande n'a pas été approuvée.
  3. Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  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. Installez VS Code si vous ne l'avez pas déjà fait.

Accorder des rôles Identity and Access Management (IAM)

Console

  1. Pour accorder les rôles IAM à votre Google Cloud projet, accédez à la page IAM et administration.

    Accéder à IAM et administration

  2. Ajoutez les rôles IAM suivants :

  • Autorisations utilisateur

    • Utilisateur d'objets de l'espace de stockage (roles/storage.objectUser)
    • Éditeur Cloud Build (roles/cloudbuild.builds.editor)
  • Compte de service Cloud Build

    • Compte de service Cloud Build (roles/cloudbuild.builds.builder)
    • Lecteur Secret Manager (roles/secretmanager.secretAccessor)
    • Rédacteur de journaux (roles/logging.logWriter)
    • Utilisateur d'objets de l'espace de stockage (roles/storage.objectUser)

gcloud

Pour ajouter les rôles IAM requis, exécutez les commandes gcloud suivantes :

  • Attribuez le rôle Utilisateur d'objets de l'espace de stockage (roles/storage.objectUser) :

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:USER_ID" \
    --role="roles/storage.objectUser"
    
  • Attribuez le rôle Éditeur Cloud Build (roles/cloudbuild.builds.editor) :

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:USER_ID" \
    --role="roles/cloudbuild.builds.editor"
    
  • Attribuez le rôle Compte de service Cloud Build (roles/cloudbuild.builds.builder) :

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/cloudbuild.builds.builder"
    
  • Attribuez le rôle Lecteur Secret Manager (roles/secretmanager.secretAccessor) :

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/secretmanager.secretAccessor"
    
  • Attribuez le rôle Rédacteur de journaux (roles/logging.logWriter) :

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/logging.logWriter"
    
  • Attribuez le rôle Utilisateur d'objets de l'espace de stockage (roles/storage.objectUser) :

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

Créer un bucket Cloud Storage

Pour créer un bucket Cloud Storage, exécutez la commande suivante :

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

Créer une clé API Gemini et l'enregistrer dans Secret Manager

Pour créer une clé API Gemini, exécutez la commande suivante :

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"

Pour enregistrer la clé API Gemini dans Secret Manager, exécutez la commande suivante :

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"

Installer et configurer l'extension

Une fois votre formulaire Demande d'ajout à la liste d'autorisation pour la modernisation de code pour .NET approuvé, vous recevrez l'extension sous forme de fichier .VSIX. Pour installer l'extension sur votre machine locale, procédez comme suit :

  1. Dans VS Code, accédez à Extensions dans la barre d'activité.

  2. Cliquez sur more_horiz Vues et autres actions , puis sélectionnez Installer à partir de VSIX.

  3. Accédez au fichier de package VSIX et sélectionnez-le. L'installation de l'extension Code-modernization-for-dotnet dans VS Code sur votre machine locale est alors lancée.

  4. Une fois l'installation terminée, redémarrez VS Code.

  5. Mettez à jour les paramètres de Code Modernization for .NET extension comme suit :

    • Mode d'extension : Version 2
    • ID du projet : PROJECT_ID
    • Nom du bucket : BUCKET_NAME
    • Région : us-central1
    • Secret de l'API Gemini : gemini-api-key
    • Compte Google : GOOGLE_ACCOUNT
    • Framework cible : .NET 8.0

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre Google Cloud projet, par exemple 1234567890.
    • BUCKET_NAME: nom de votre bucket Cloud Storage.
    • GOOGLE_ACCOUNT : votre compte Google, par exemple your_full_name@gmail.com.

Déclencher le build

  1. Pour vous connecter à Google Cloud, exécutez la commande suivante :

    gcloud auth login --update-adc
    
  2. Pour déclencher le workflow de modernisation, sélectionnez Contrôle de code source dans la barre d'activité, cliquez sur more_horiz Autres actions pour ouvrir le menu contextuel, puis sélectionnez Google Cloud : Moderniser le code .NET.

Ajouter votre projet à la liste d'autorisation

Pour ajouter votre projet à la liste d'autorisation, envoyez l'ID de votre compte de service Cloud Build par e-mail à code-modernization-for-dotnet-discuss@google.com.

Vous pouvez également contacter cette adresse e-mail pour obtenir de l'aide, poser des questions ou envoyer des commentaires.