자체 포함이 지정되지 않은 경우 RuntimeIdentifier 경고

프로젝트 파일에서 RuntimeIdentifier를 지정하거나 dotnet과 함께 -r 옵션을 사용하는 경우 .NET SDK는 기본적으로 빌드, 게시 및 실행 출력을 자체 포함 애플리케이션으로 지정합니다. RuntimeIdentifier를 지정하지 않은 기본값은 프레임워크 종속 애플리케이션을 생성하는 것입니다. 이 변경으로 인해 애플리케이션이 자체 포함되는지 여부를 지정하지 않고 RuntimeIdentifier를 지정하는 경우 새 경고(NETSDK1179)가 발생합니다.

도입된 버전

.NET 6 RC 1

이전 동작

이전 버전에서는 RuntimeIdentifier를 지정하면 애플리케이션이 프레임워크 종속 애플리케이션에서 자체 포함 애플리케이션으로 자동으로 변경됩니다.

새 동작

.NET 6에서는 애플리케이션이 자체 포함되는지 여부를 지정하지 않고 RuntimeIdentifier를 지정하면 다음과 같은 경고가 표시됩니다.

경고 NETSDK1179: '--runtime'을 사용하는 경우 '--no-self-contained' 또는 '--no-self-contained' 옵션 중 하나가 필요합니다.

예를 들어 다음 명령은 경고를 생성합니다.

dotnet publish -r win-x86

범주 변경

이 변경은 원본 호환성에 영향을 줄 수 있습니다.

변경 이유

RuntimeIdentifier를 지정하지 않은 기본값은 프레임워크 종속 애플리케이션을 생성하는 것입니다. 이 기본값 때문에 많은 고객에게 혼동이 발생했습니다. 경고를 추가하는 목적은 다음과 같습니다.

  • 고객에게 기본적으로 프레임워크 종속 앱으로 변경된 동작을 경고합니다.
  • 고객이 빌드하려는 애플리케이션 유형을 구체적으로 선택하도록 권장합니다.
  • 고객이 .NET 7에서 동작 기본값을 프레임워크 종속으로 변경할 경우 준비할 수 있도록 합니다.
  • 프로젝트 파일에서 SelfContained에 대한 부울 값을 지정합니다.
  • 또는 빌드 또는 게시 명령에 값을 사용하여 --self-contained를 추가합니다.

영향을 받는 API

해당 없음

참고 항목