.NET 애플리케이션 현대화

Gemini 생성형 AI 모델을 기반으로 하는 .NET용 코드 현대화는 코드 생성 및 애플리케이션 현대화 도구입니다. 애플리케이션을 교차 플랫폼 .NET 코드로 리팩터링하여 Windows에 종속된 Microsoft .NET Framework 애플리케이션을 현대화하는 데 도움이 됩니다.

.NET Framework 애플리케이션과 달리 교차 플랫폼 .NET 애플리케이션은 Linux에서 실행할 수 있으므로 Windows 라이선스가 필요하지 않으며 컨테이너화를 비롯한 클라우드 네이티브 기능을 사용할 수 있습니다.

이 가이드에서는 프로젝트에 IAM 역할을 부여하고, Cloud Storage 버킷을 만들고, Gemini API 키를 만들고, 로컬 머신에 code-modernization-for-dotnet 확장 프로그램을 설치하여 .NET Framework 애플리케이션을 교차 플랫폼 .NET 코드로 리팩터링합니다. Google Cloud

시작하기 전에

  1. 아직 Google 계정이 없다면 Google 계정을 만듭니다. 직장 이메일 주소를 비롯한 모든 이메일 주소를 사용하여 Google 계정을 만들 수 있습니다.
  2. 허용 목록에 가입하려면 Code Modernization for .NET: Allowlist Request form 양식을 제출하세요. 이 요청이 승인될 때까지 이 페이지의 단계를 진행할 수 없습니다.
  3. 계정에 로그인합니다. Google Cloud 를 처음 사용하는 경우 Google Cloud 계정을 만들어 실제 시나리오에서 제품이 어떻게 작동하는지 평가하세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  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. VS Code를 설치합니다. 아직 설치하지 않았다면

ID 및 액세스 관리 (IAM) 역할 부여

콘솔

  1. 프로젝트에 IAM 역할을 부여하려면 IAM 및 관리 페이지로 이동합니다. Google Cloud

    IAM 및 관리자로 이동

  2. 다음 IAM 역할을 추가합니다.

  • 사용자 권한

    • 스토리지 객체 사용자 (roles/storage.objectUser)
    • Cloud Build 편집자 (roles/cloudbuild.builds.editor)
  • Cloud Build 서비스 계정

    • Cloud Build 서비스 계정 (roles/cloudbuild.builds.builder)
    • Secret Manager 접근자 (roles/secretmanager.secretAccessor)
    • 로그 작성자 (roles/logging.logWriter)
    • 스토리지 객체 사용자 (roles/storage.objectUser)

gcloud

필요한 IAM 역할을 추가하려면 다음 gcloud 명령어를 실행합니다.

  • 스토리지 객체 사용자 (roles/storage.objectUser) 역할을 할당합니다.

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:USER_ID" \
    --role="roles/storage.objectUser"
    
  • Cloud Build 편집자 (roles/cloudbuild.builds.editor) 역할을 할당합니다.

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:USER_ID" \
    --role="roles/cloudbuild.builds.editor"
    
  • Cloud Build 서비스 계정 (roles/cloudbuild.builds.builder) 역할을 할당합니다.

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/cloudbuild.builds.builder"
    
  • Secret Manager 접근자 (roles/secretmanager.secretAccessor) 역할을 할당합니다.

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/secretmanager.secretAccessor"
    
  • 로그 작성자 (roles/logging.logWriter) 역할을 할당합니다.

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT" \
      --role="roles/logging.logWriter"
    
  • 스토리지 객체 사용자 (roles/storage.objectUser) 역할을 할당합니다.

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

Cloud Storage 버킷 만들기

Cloud Storage 버킷을 만들려면 다음을 실행합니다.

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

Gemini API 키를 만들고 Secret Manager에 저장

Gemini API 키를 만들려면 다음을 실행합니다.

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"

Gemini API 키를 Secret Manager에 저장하려면 다음을 실행합니다.

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"

확장 프로그램 설치 및 구성

.NET용 코드 현대화: 허용 목록 요청 양식이 승인되면 확장 프로그램이.VSIX 파일로 제공됩니다. 확장 프로그램을 로컬 머신에 설치하려면 다음 단계를 따르세요.

  1. VS Code의 작업 표시줄에서 확장 프로그램 으로 이동합니다.

  2. more_horiz 뷰 및 추가 작업을 클릭하고 VSIX에서 설치를 선택합니다.

  3. VSIX 패키지 파일로 이동하여 선택합니다. 이렇게 하면 로컬 머신의 VS Code에서 Code-modernization-for-dotnet 확장 프로그램 설치가 시작됩니다.

  4. 설치가 완료되면 VS Code를 다시 시작합니다.

  5. Code Modernization for .NET extension 설정을 다음과 같이 업데이트합니다.

    • 확장 프로그램 모드: Version 2
    • 프로젝트 ID: PROJECT_ID
    • 버킷 이름: BUCKET_NAME
    • 리전: us-central1
    • Gemini API Secret: gemini-api-key
    • Google 계정: GOOGLE_ACCOUNT
    • 대상 프레임워크: .NET 8.0

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트의 ID(예: 1234567890) Google Cloud
    • BUCKET_NAME: Cloud Storage 버킷의 이름
    • GOOGLE_ACCOUNT: Google 계정(예: your_full_name@gmail.com)

빌드 트리거

  1. 에 로그인하려면 Google Cloud다음 명령어를 실행합니다.

    gcloud auth login --update-adc
    
  2. 현대화 워크플로를 트리거하려면 작업 표시줄에서 소스 제어를 선택하고 more_horiz 추가 작업 을 클릭하여 컨텍스트 메뉴를 연 다음 Google Cloud: .NET 코드 현대화를 선택합니다.

허용 목록에 프로젝트 추가

프로젝트를 허용 목록에 추가하려면 Cloud Build 서비스 계정 ID를 code-modernization-for-dotnet-discuss@google.com으로 이메일을 보내세요.

지원, 질문 또는 의견을 제공하려면 동일한 이메일 주소로 문의하세요.