Memodernisasi aplikasi .NET

Modernisasi kode untuk .NET, yang didukung oleh model AI Generatif Gemini, adalah alat modernisasi aplikasi dan pembuatan kode. Alat ini membantu Anda memodernisasi aplikasi Microsoft .NET Framework yang bergantung pada Windows dengan memfaktorkan ulang aplikasi Anda ke kode .NET lintas platform.

Aplikasi .NET lintas platform, tidak seperti aplikasi .NET Framework, dapat berjalan di Linux, sehingga tidak memerlukan lisensi Windows dan memungkinkan kemampuan cloud-native termasuk containerization.

Dalam panduan ini, Anda akan memberikan peran IAM untuk Google Cloud project Anda, membuat bucket Cloud Storage, membuat kunci API Gemini, dan menginstal ekstensi code-modernization-for-dotnet di komputer lokal Anda untuk memfaktorkan ulang aplikasi .NET Framework Anda ke kode .NET lintas platform.

Sebelum memulai

  1. Buat Akun Google, jika Anda belum memilikinya. Anda dapat menggunakan alamat email apa pun untuk membuat Akun Google, termasuk alamat email kantor Anda.
  2. Kirimkan formulir Permintaan Daftar yang Diizinkan: Modernisasi Kode untuk .NET untuk bergabung ke daftar yang diizinkan. Anda tidak dapat melanjutkan langkah-langkah di halaman ini hingga permintaan ini disetujui.
  3. Login keakun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  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. Instal VS Code, jika Anda belum melakukannya.

Memberikan peran Identity and Access Management (IAM)

Konsol

  1. Untuk memberikan peran IAM untukproject Anda, buka halaman IAM & Admin. Google Cloud

    Buka IAM &Admin

  2. Tambahkan peran IAM berikut:

  • Izin Pengguna

    • Pengguna Objek Storage (roles/storage.objectUser)
    • Editor Cloud Build (roles/cloudbuild.builds.editor)
  • Akun Layanan Cloud Build

    • Akun Layanan Cloud Build (roles/cloudbuild.builds.builder)
    • Pengakses Secret Manager (roles/secretmanager.secretAccessor)
    • Penulis Log (roles/logging.logWriter)
    • Pengguna Objek Storage (roles/storage.objectUser)

gcloud

Untuk menambahkan peran IAM yang diperlukan, jalankan perintah gcloud berikut:

  • Tetapkan peran Pengguna Objek Storage (roles/storage.objectUser):

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:USER_ID" \
    --role="roles/storage.objectUser"
    
  • Tetapkan peran Editor Cloud Build (roles/cloudbuild.builds.editor):

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:USER_ID" \
    --role="roles/cloudbuild.builds.editor"
    
  • Tetapkan peran Akun Layanan Cloud Build (roles/cloudbuild.builds.builder):

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/cloudbuild.builds.builder"
    
  • Tetapkan peran Pengakses Secret Manager (roles/secretmanager.secretAccessor):

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/secretmanager.secretAccessor"
    
  • Tetapkan peran Penulis Log (roles/logging.logWriter):

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/logging.logWriter"
    
  • Tetapkan peran Pengguna Objek Storage (roles/storage.objectUser):

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

Membuat bucket Cloud Storage

Untuk membuat bucket Cloud Storage, jalankan perintah berikut:

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

Membuat kunci API Gemini dan menyimpan di Secret Manager

Untuk membuat kunci API Gemini, jalankan perintah berikut:

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"

Untuk menyimpan kunci API Gemini di Secret Manager, jalankan perintah berikut:

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"

Menginstal dan mengonfigurasi ekstensi

Setelah formulir Permintaan Daftar yang Diizinkan: Modernisasi Kode untuk .NET disetujui, Anda akan menerima ekstensi sebagai file .VSIX. Untuk menginstal ekstensi ke komputer lokal Anda, ikuti langkah-langkah berikut:

  1. Di VS Code, buka Extensions di panel aktivitas.

  2. Klik more_horiz Views and More Actions , lalu pilih Install from VSIX.

  3. Buka dan pilih file paket VSIX. Tindakan ini akan memulai penginstalan ekstensi Code-modernization-for-dotnet di VS Code di komputer lokal Anda.

  4. Setelah penginstalan selesai, mulai ulang VS Code.

  5. Perbarui setelan Code Modernization for .NET extension ke setelan berikut:

    • Extension Mode: Version 2
    • Project ID: PROJECT_ID
    • Bucket Name: BUCKET_NAME
    • Region: us-central1
    • Gemini API Secret: gemini-api-key
    • Google Account: GOOGLE_ACCOUNT
    • Target Framework: .NET 8.0

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda—misalnya, 1234567890. Google Cloud
    • BUCKET_NAME: Nama bucket Cloud Storage Anda.
    • GOOGLE_ACCOUNT: Akun Google Anda—misalnya, your_full_name@gmail.com.

Memicu build

  1. Untuk login ke Google Cloud, jalankan perintah berikut:

    gcloud auth login --update-adc
    
  2. Untuk memicu alur kerja modernisasi, di panel aktivitas, pilih Source Control, klik more_horiz More Actions untuk membuka menu konteks, lalu pilih Google Cloud: Modernize .NET code.

Menambahkan project Anda ke daftar yang diizinkan

Untuk menambahkan project Anda ke daftar yang diizinkan, kirimkan ID Akun Layanan Cloud Build Anda melalui email ke code-modernization-for-dotnet-discuss@google.com.

Anda juga dapat menghubungi alamat email yang sama untuk mendapatkan dukungan, mengajukan pertanyaan, atau memberikan masukan.