Ubuntu에 여러 버전의 .Net SDK를 설치하는 방법

Ubuntu에 여러 버전의 .Net SDK를 설치하는 방법

다음과 같은 특정 버전의 .Net SDK가 필요한 .Net 애플리케이션을 빌드하려고 합니다."version": "2.2.107"

최근 적절한 업데이트를 통해 설치된 .Net SDK 버전이 사용 가능한 최신 버전인 2.2.300.

동일한 SDK의 여러 버전을 설치할 수 있나요?

여기에 표시된 대로 여러 개의 마이너 SDK 버전을 설치할 수 있습니다.

$ dotnet --list-sdks
2.1.700 [/usr/share/dotnet/sdk]
2.2.300 [/usr/share/dotnet/sdk]

이 애플리케이션을 빌드하기 위해 현재 설치된 버전을 제거하지 않으려고 노력하고 있습니다.

참고로, Microsoft 다운로드 페이지에는 버그인 것으로 의심되는 특정 버전 설치에 대한 지침이 제공되지 않습니다. 실제로 설치하려는 버전을 클릭하여 해당 페이지로 이동한 경우에도 표시된 명령은 항상 최신 버전을 설치합니다.

https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-2.2.107

답변1

APT 또는 RPM과 같은 모든 패키지 관리자는 최신(최신 버전만) 패키지를 처리합니다. 이는 .Net Core 패키지에 적용되므로 이전 버전과 최신 버전의 패키지를 동시에 가질 수 없습니다. Microsoft는 패키지 관리자 없이 .Net Core 바이너리(.Net Core, ASP.NET Core SDK 및 런타임)를 설치하기 위한 스크립트를 준비했습니다. 이 스크립트는 여기에서 다운로드할 수 있습니다:

https://dot.net/v1/dotnet-install.sh

이 스크립트를 사용하면 설치할 버전(옵션 -v 또는 –version)과 바이너리를 설치할 위치(옵션 -i 또는 –install-dir)를 지정할 수 있습니다.

  • "apt Remove dotnet-"을 사용하여 기존 패키지를 제거합니다.
  • “—version” 옵션으로 지정된 선택한 바이너리를 동일한 폴더(/usr/share/dotnet)에 설치합니다.

스크립트는 매우 정교하며 훨씬 더 많은 옵션을 사용하여 실행할 수 있습니다. 이에 대해 읽으려면 첫 번째 실행에서 “—help”를 지정하십시오. 참고: 스크립트는 현재 $PATH 환경 변수에 설치 폴더를 추가하지만 셸의 프로필 파일에는 추가하지 않습니다. 이 작업은 수동으로 수행해야 합니다.

답변2

문제는 최신 버전을 설치하기 전에 이전 버전을 제거하는 패키지 관리자에 있습니다. Microsoft에서 제공하는 botnet-install 스크립트를 사용하여 패키지 관리자와 독립적으로 dotnet 바이너리 패키지를 가져오고 설치할 수 있습니다. 여기에서 찾을 수 있는 모든 지침: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script

관련 정보