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
- 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.
- 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.
- 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. - Instale o VS Code, se ainda não o tiver feito.
Para conceder as funções de IAM para o seu Google Cloud projeto, aceda à página IAM e administração.
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
)
- Utilizador do objeto de armazenamento (
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
)
- Conta de serviço do Cloud Build (
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"
No VS Code, navegue para Extensões na barra de atividade.
Clique em more_horiz Vistas e mais ações e selecione Instalar a partir de VSIX.
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.Quando a instalação estiver concluída, reinicie o VS Code.
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
.
- Modo de extensão:
Para iniciar sessão no Google Cloud, execute o seguinte comando:
gcloud auth login --update-adc
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.
Conceda funções da gestão de identidade e de acesso (IAM)
Consola
gcloud
Para adicionar as funções do IAM necessárias, execute os seguintes comandos:gcloud
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:
Acione a compilação
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.