다음을 통해 공유


.NET SDK 워크로드 집합

.NET SDK 워크로드 그룹을 나타내는 버전 번호를 워크로드 집합 기능이 제공합니다. 워크로드 집합 업데이트 모드에서 설치, 업데이트복원 명령은 다음과 같은 이점을 제공하기 위해 이 숫자를 사용합니다.

  • 설치된 워크로드 버전에 대한 변경 주기를 제어합니다. 느슨한 매니페스트 업데이트 모드는 워크로드 집합을 사용하지 않는 대체 작업 모드를 의미합니다. 이 모드에서 새 버전의 개별 워크로드가 구성된 NuGet 피드에 릴리스되면 워크로드는 자동으로 업데이트됩니다. workload-set 업데이트 모드에서, 해당 버전을 명시적으로 변경할 때까지 워크로드는 특정 워크로드 집합 버전에 유지됩니다.
  • 함께 작동하며 동시에 제공되는 것으로 알려진 워크로드 버전의 조합을 설치하고 업데이트 가능합니다.
  • 동일한 워크로드 버전에서 팀의 모든 사용자가 항상 작업하는지 확인 가능합니다.
  • 사용하려는 워크로드 버전을 지정하기 위해 롤백 파일을 사용할 필요가 없습니다.

다음은 워크로드 집합을 사용할 수 있는 방법입니다.

  • install 명령을 특정 워크로드 집합 버전에 "고정"하세요.
  • 사용 가능한 최신 워크로드 집합 버전으로 설치된 워크로드를 업데이트하세요.
  • 지정된 워크로드 집합 버전으로 업데이트하세요.
  • global.json에서 워크로드 집합 버전을 지정하세요.
  • 기존 워크로드 집합 버전 및 업데이트 모드를 확인하세요.

또한 각 개별 워크로드의 최신 버전으로 설치, 업데이트 또는 복원하며 워크로드 집합은 무시하도록 선택 가능합니다.

필수 조건

  • .NET 8.0.400 SDK 이상.

    dotnet workload 명령은 명시적으로 선택된 경우에만 8.0.400 SDK에서 워크로드 집합 업데이트 모드에 있습니다.

설치 명령을 "고정"하세요

--version 옵션을 포함하는 dotnet workload install 명령은 workload-set 업데이트 모드에서 지정된 워크로드 집합 버전을 사용하여 install 명령을 "고정"합니다. 더 이상 이 명령이 느슨한 매니페스트를 기반으로 자동으로 최신 워크로드를 설치하지 않습니다.

다음을 수행하여 install 명령을 "고정"합니다.

  1. 워크로드 집합 버전을 선택하세요. 예들 들어 9.0.100-preview.7.24414.1입니다.

  2. 워크로드를 선택하세요. 예들 들어 aspire입니다.

  3. dotnet workload install aspire --version 9.0.100-preview.7.24414.1
    

    이 명령이 실행되는 경우:

    • workload-set 업데이트 모드가 아직 선택되지 않은 경우, 이를 선택합니다.
    • 이는 지정된 버전이 있는 워크로드 집합을 가져옵니다.
    • 지정된 워크로드의 매니페스트 버전을 워크로드 집합에서 가져옵니다.
    • 이는 워크로드의 매니페스트 버전을 설치합니다.
    • 완료되면 workload-set 업데이트 모드로 유지됩니다.
  4. maui-ios와(과) 같이 설치하려는 다른 워크로드를 선택하세요.

  5. dotnet workload install maui-ios
    

    이 명령은 이전 명령 예제가 해당 워크로드 집합을 고정했기 때문에 워크로드 집합 버전의 워크로드 버전을 9.0.100-preview.7.24414.1사용하여 워크로드를 install 설치 maui-ios 합니다.

install 또는 update와(과) 함께 --version을(를) 사용하면 지정된 버전에 install이(가) 고정되지만, workload-set 업데이트 모드에 대해서 특정 워크로드 집합 버전이 아니라 update만이 구성됩니다. 다음으로, dotnet workload update을(를) --version 옵션 없이 실행하면, update 명령은 다음을 수행합니다.

  • 사용 가능한 최신 워크로드 집합 버전으로 워크로드를 업데이트합니다.
  • install 명령을 "고정 해제"합니다.
  • workload-set 업데이트 모드로 유지합니다.

최신 워크로드 집합을 사용한 업데이트

다음의 명령을 실행하여 구성된 피드에서 사용할 수 있는 최신 워크로드 집합 버전으로 설치된 워크로드를 업데이트합니다.

  1. dotnet workload config --update-mode workload-set
    

    현재 매니페스트 업데이트 모드에 있는 경우에만 이전 명령이 필요합니다. 알 수 없는 경우, 현재 업데이트 모드를 확인하세요.

  2. dotnet workload update
    

    workload-set 업데이트 모드에서, 이 명령은 최신 워크로드 집합 버전으로 워크로드를 업데이트하며, 이는 global.json 워크로드 집합 버전을 지정하지 않는 한 그렇습니다.

워크로드 집합 버전으로 업데이트하세요.

update 명령의 --version 옵션을 사용하면, 업데이트하려는 워크로드 집합 버전을 global.json에서 지정하지 않는 경우에도 지정할 수 있습니다.

  1. 워크로드 집합 버전을 선택하세요. 예들 들어 8.0.400입니다.

  2. dotnet workload update --version 8.0.400
    

    workload-set 업데이트 모드가 아직 선택되지 않은 경우, 이 모드가 선택됩니다.

global.json을 워크로드 집합 버전에 사용하세요

다음을 수행하여 global.json 파일을 사용하여 리포지토리의 워크로드 집합 버전을 지정합니다.

  1. 워크로드 집합 버전을 선택하세요. 예들 들어 9.0.100-preview.7.24414.1입니다.

  2. global.json 파일을 다음 예제와 같이 생성합니다.

    {
      "sdk": {
        "workloadVersion": "9.0.100-preview.7.24414.1"
      }
    }
    

install, updaterestore 명령은 지정된 워크로드 집합 버전에 대한 워크로드를 설치하기 위해 동일한 리포지토리의 현재 디렉터리와 workload-set 업데이트 모드의 CLI를 사용합니다. global.json 파일이 없고 업데이트 모드인 workload-set 경우 매니페스트 업데이트 모드 workload-set 에서 업데이트 모드 restore 로 전환할 때 설정된 워크로드 집합 버전을 설치합니다.

워크로드 집합 버전이 global.json 파일에 있는 경우, config 명령을 실행하지 않았거나 --version을(를) 사용한 경우에도 workload-set 모드에 워크로드 명령이 있습니다. 이를 global.json 파일이 재정의합니다. 이 경우 global.json 파일이 포함된 경로 외부에서 명령을 실행하면 --version 옵션을 사용할 수 있습니다.

global.json 워크로드 집합 버전을 지정하지 않으면 이 옵션을 명령과 함께 restore 사용할 --version 수 있습니다. 이러한 경우, 지정된 워크로드 집합 버전으로 워크로드를 복원하기 전에 restore 명령은 workload-set 업데이트 모드를 선택합니다.

매니페스트 업데이트 모드에서 restore은(는) 각 개별 워크로드의 최신 버전으로 워크로드를 설치하거나 업데이트합니다.

업데이트 모드와 버전을 확인하세요

인수 없이 --update-mode 옵션을 사용하여 config 명령을 실행하면 현재 업데이트 모드를 볼 수 있습니다. 모드 중 하나 workload-set 또는 manifests. 예시:

dotnet workload config --update-mode
workload-set

dotnet workload --version을(를) 실행하여 현재 워크로드 집합 버전을 확인합니다. 워크로드 집합이 설치된 경우, 9.0.100-preview.7.24414.1 또는 8.0.402 등의 버전이 표시됩니다. 예시:

dotnet workload --version
9.0.100-preview.7.24414.1

매니페스트 모드에서, 또는 워크로드 집합 버전이 workload-set 업데이트 모드로 전환한 뒤 아직 설정되지 않은 경우, <feature band>-manifests.<hash>의 형식으로 버전이 표시됩니다. 예시:

dotnet workload --version
9.0.100-manifests.cf958b56

워크로드 집합 버전을 선택하세요

패키지 ID Microsoft.NET.Workloads.<feature band>에 따라 워크로드 집합은 nuget.org에 .NET SDK의 각 릴리스와 함께 게시됩니다. 안정적인 버전의 SDK의 경우 항상 일치하는 워크로드 집합 버전이 있습니다. 따라서 8.0.400 SDK는 8.0.400 워크로드 집합을 설치할 수 있고 401은 401 집합을 설치할 수 있습니다. 일반적으로, 안정적인 SDK에 대해 일치하는 워크로드 집합을 설치하는 것이 권장됩니다.

미리 보기 릴리스의 경우, 해당 워크로드 집합 버전을 패키지의 추가 정보 탭에서 찾습니다. 그러한 예시로, .NET 9 미리 보기 7 패키지에 대한 추가 정보 탭을 참조하세요.

나중에 워크로드 집합 버전 목록과 해당 버전에 포함된 버전을 볼 수 있습니다.

워크로드 집합은 무시하세요

워크로드 config 명령을 실행하여 매니페스트 업데이트 모드를 선택하고 사용하면, 구성된 피드에서 사용할 수 있는 각 개별 워크로드의 최신 버전을 설치하거나 업데이트할 수 있습니다.

dotnet workload config --update-mode manifests

매니페스트 모드는 .NET 8.0.4xx SDK에서 기본값입니다. 이 버전에서는 이전에 업데이트 모드를 명시적으로 선택한 경우에만 매니페스트 모드를 workload-set 명시적으로 선택해야 합니다.