Memodernisasi aplikasi .NET

Modernisasi kode untuk .NET, yang didukung oleh model AI Generatif Gemini, adalah alat pembuatan kode dan modernisasi aplikasi. 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 containerisasi.

Dalam panduan ini, Anda akan memberikan peran IAM untuk project Google Cloud, membuat bucket Cloud Storage, membuat kunci Gemini API, dan menginstal ekstensi code-modernization-for-dotnet di komputer lokal untuk memfaktorkan ulang aplikasi .NET Framework 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: Code Modernization for .NET untuk bergabung ke daftar yang diizinkan. Anda tidak dapat melanjutkan langkah-langkah di halaman ini hingga permintaan ini disetujui.
  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.

    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.

    Enable the APIs

  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    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.

    Enable the APIs

  10. Instal VS Code, jika Anda belum melakukannya.
  11. Memberikan peran Identity and Access Management (IAM)

    Konsol

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

      Buka IAM & Admin

    2. Tambahkan peran IAM berikut:

    • Izin Pengguna

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

      • Akun Layanan Cloud Build (roles/cloudbuild.builds.builder)
      • Secret Manager Viewer (roles/secretmanager.viewer)
      • Logs Writer (roles/logging.logWriter)
      • Storage Object User (roles/storage.objectUser)

    gcloud

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

    • Tetapkan peran Storage Object User (roles/storage.objectUser):

      gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="user:USER_ID" \
      --role="roles/storage.objectUser"
      
    • Tetapkan peran Cloud Build Editor (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 Secret Manager Accessor (roles/secretmanager.secretAccessor):

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

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT" \
        --role="roles/logging.logWriter"
      
    • Tetapkan peran Storage Object User (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
    

    Buat kunci Gemini API dan simpan di Secret Manager

    Untuk membuat kunci Gemini API, 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 Gemini API di Secret Manager, jalankan berikut ini:

    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"
    

    Menginstal dan mengonfigurasi ekstensi

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

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

    2. Klik more_horiz Tampilan dan Tindakan Lainnya, lalu pilih Instal dari 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 menjadi berikut:

      • Mode Ekstensi: LocalGit (experimental)
      • ID Project: PROJECT_ID
      • Nama Bucket: BUCKET_NAME
      • Region: us-central1
      • Secret Gemini API: gemini-api-key-secret-name
      • Akun Google: GOOGLE_ACCOUNT
      • Target Framework: .NET 8.0

      Ganti kode berikut:

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

    Picu 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 memasukkan 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.