Modernizar seu aplicativo .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 aplicativos. Ela ajuda a modernizar seus aplicativos do Microsoft .NET Framework dependentes do Windows, refatorando-os para o código .NET multiplataforma.

Os aplicativos .NET multiplataforma, ao contrário dos aplicativos .NET Framework, podem ser executados no Linux, eliminando a necessidade de licenças do Windows e ativando recursos nativos da nuvem, incluindo a conteinerização.

Neste guia, você vai conceder papéis do IAM para seu Google Cloud projeto, criar um bucket do Cloud Storage, criar uma chave de API Gemini e instalar a code-modernization-for-dotnet extensão na sua máquina local para refatorar o aplicativo .NET Framework para o código .NET multiplataforma.

Antes de começar

  1. Crie uma Conta do Google, se ainda não tiver uma. É possível usar qualquer endereço de e-mail para criar uma Conta do Google, incluindo seu endereço de e-mail profissional.
  2. Envie o formulário de solicitação de lista de permissões da modernização de código para .NET para entrar na lista. Não é possível continuar com as etapas desta página até que essa solicitação seja aprovada.
  3. Faça login na sua Google Cloud conta do. Se você não conhece o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  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. Instale o VS Code, se você ainda não tiver feito isso.

Conceder papéis do Identity and Access Management (IAM)

Console

  1. Para conceder os papéis do IAM ao seu Google Cloud projeto, acesse a página IAM e administrador.

    Acessar IAM e administrador

  2. Adicione os seguintes papéis do IAM:

  • Permissões do usuário

    • Usuário 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)
    • Acessador de secrets do Secret Manager (roles/secretmanager.secretAccessor)
    • Gravador de registros (roles/logging.logWriter)
    • Usuário do objeto de armazenamento (roles/storage.objectUser)

gcloud

Para adicionar os papéis do IAM necessários, execute os seguintes comandos gcloud:

  • Atribua o papel Usuário do objeto de armazenamento (roles/storage.objectUser):

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:USER_ID" \
    --role="roles/storage.objectUser"
    
  • Atribua o papel 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 o papel 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 o papel Acessador de secrets do Secret Manager (roles/secretmanager.secretAccessor):

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/secretmanager.secretAccessor"
    
  • Atribua o papel Gravador de registros (roles/logging.logWriter):

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/logging.logWriter"
    
  • Atribua o papel Usuário do objeto de armazenamento (roles/storage.objectUser):

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

Criar um bucket do Cloud Storage

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

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

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

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"

Instalar e configurar a extensão

Depois que o formulário de solicitação de lista de permissões da modernização de código para .NET for aprovado, você vai receber a extensão como um arquivo .VSIX. Para instalar a extensão na sua máquina local, siga estas etapas:

  1. No VS Code, navegue até Extensões na barra de atividades.

  2. Clique em more_horiz Visualizações e mais ações e selecione Instalar pelo VSIX.

  3. Navegue até o arquivo de pacote VSIX e selecione-o. Isso inicia a instalação da extensão Code-modernization-for-dotnet no VS Code na sua máquina local.

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

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

    • Modo de extensão: Version 2
    • ID do projeto: PROJECT_ID
    • Nome do bucket: BUCKET_NAME
    • Região: us-central1
    • Chave secreta da API Gemini: gemini-api-key
    • Conta do Google: GOOGLE_ACCOUNT
    • Framework de destino: .NET 8.0

    Substitua:

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

Acionar a compilação

  1. Para fazer login 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 atividades, selecione Controle de origem, clique em more_horiz Mais ações para abrir o menu de contexto e selecione Google Cloud: Modernizar código .NET.

Adicionar seu projeto à lista de permissões

Para colocar seu projeto na lista de permissões, envie o ID da conta de serviço do Cloud Build para code-modernization-for-dotnet-discuss@google.com.

Você também pode entrar em contato com o mesmo endereço de e-mail para receber suporte, fazer perguntas ou enviar feedback.