Modernize a sua aplicação .NET

A modernização de código para .NET, com tecnologia dos modelos de IA generativa do Gemini, é uma ferramenta de geração de código e modernização de aplicações. Ajuda a modernizar as suas aplicações Microsoft .NET Framework dependentes do Windows através da refatoração das suas aplicações para código .NET multiplataforma.

As aplicações .NET multiplataforma, ao contrário das aplicações .NET Framework, podem ser executadas no Linux, o que elimina a necessidade de licenças do Windows e permite capacidades nativas da nuvem, incluindo a contentorização.

Neste guia, vai conceder funções do IAM para o seu Google Cloud projeto, criar um contentor do Cloud Storage, criar uma chave da API Gemini e instalar a extensão code-modernization-for-dotnet no seu computador local para refatorar a sua aplicação .NET Framework para código .NET multiplataforma.

Antes de começar

  1. Crie uma Conta Google, se ainda não tiver uma. Pode usar qualquer endereço de email para criar uma Conta Google, incluindo o seu endereço de email profissional.
  2. Envie o formulário de pedido de lista de autorizações: modernização de código para .NET para aderir à lista de autorizações. Não pode avançar com os passos nesta página até que este pedido seja aprovado.
  3. 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.
  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 (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 (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. Instale o VS Code, se ainda não o tiver feito.
  11. Conceda funções da gestão de identidade e de acesso (IAM)

    Consola

    1. Para conceder as funções de IAM para o seu Google Cloud projeto, aceda à página IAM e administração.

      Aceda a IAM e administração

    2. Adicione as seguintes funções de IAM:

    • Autorizações do utilizador

      • Utilizador do objeto de armazenamento (roles/storage.objectUser)
      • Editor do Cloud Build (roles/cloudbuild.builds.editor)
    • Conta de serviço do Cloud Build

      • Conta de serviço do Cloud Build (roles/cloudbuild.builds.builder)
      • Leitor do Secret Manager (roles/secretmanager.viewer)
      • Logs Writer (roles/logging.logWriter)
      • Utilizador do objeto de armazenamento (roles/storage.objectUser)

    gcloud

    Para adicionar as funções do IAM necessárias, execute os seguintes comandos:gcloud

    • Atribua a função Utilizador de objetos de armazenamento (roles/storage.objectUser):

      gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="user:USER_ID" \
      --role="roles/storage.objectUser"
      
    • Atribua a função Editor do Cloud Build (roles/cloudbuild.builds.editor):

      gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="user:USER_ID" \
      --role="roles/cloudbuild.builds.editor"
      
    • Atribua a função de conta de serviço do Cloud Build (roles/cloudbuild.builds.builder):

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT" \
        --role="roles/cloudbuild.builds.builder"
      
    • Atribua a função Secret Manager Accessor (roles/secretmanager.secretAccessor):

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT" \
        --role="roles/secretmanager.secretAccessor"
      
    • Atribua a função Logs Writer (roles/logging.logWriter):

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT" \
        --role="roles/logging.logWriter"
      
    • Atribua a função Utilizador de objetos de armazenamento (roles/storage.objectUser):

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

    Crie um contentor do Cloud Storage

    Para criar um contentor do Cloud Storage, execute o seguinte:

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

    Crie uma chave da API Gemini e guarde-a no Secret Manager

    Para criar uma chave da API Gemini, execute o seguinte:

    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 a chave da API Gemini no Secret Manager, execute o seguinte 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"
    

    Instale e configure a extensão

    Assim que o formulário de pedido de lista de autorizações de modernização de código para .NET for aprovado, recebe a extensão como um ficheiro .VSIX. Para instalar a extensão na sua máquina local, siga estes passos:

    1. No VS Code, navegue para Extensões na barra de atividade.

    2. Clique em more_horiz Vistas e mais ações e selecione Instalar a partir de VSIX.

    3. Localize e selecione o ficheiro do pacote VSIX. Isto inicia a instalação da extensão Code-modernization-for-dotnet no VS Code no seu computador local.

    4. Quando a instalação estiver concluída, reinicie o VS Code.

    5. Atualize as definições de Code Modernization for .NET extension para o seguinte:

      • Modo de extensão: LocalGit (experimental)
      • ID do projeto: PROJECT_ID
      • Nome do segmento: BUCKET_NAME
      • Região: us-central1
      • API Secret do Gemini: gemini-api-key-secret-name
      • Conta Google: GOOGLE_ACCOUNT
      • Framework de destino: .NET 8.0

      Substitua o seguinte:

      • PROJECT_ID: o ID do seu projeto Google Cloud, por exemplo, 1234567890.
      • BUCKET_NAME: o nome do seu contentor do Cloud Storage.
      • GOOGLE_ACCOUNT: a sua Conta Google, por exemplo, your_full_name@gmail.com.

    Acione a compilação

    1. Para iniciar sessão no Google Cloud, execute o seguinte comando:

      gcloud auth login --update-adc
      
    2. Para acionar o fluxo de trabalho de modernização, na barra de atividade, selecione Controlo de origem, clique em more_horiz Mais ações para abrir o menu de contexto e selecione Google Cloud: modernize o código .NET.

    Adicione o seu projeto à lista de autorizações

    Para adicionar o seu projeto à lista de autorizações, envie por email o ID da conta de serviço do Cloud Build para code-modernization-for-dotnet-discuss@google.com.

    Também pode contactar o mesmo endereço de email para receber apoio técnico, fazer perguntas ou enviar feedback.