빌드 환경 : Visual Studio 2019
WPF 예제를 돌려보려던 차에 발견한 오류
원문은 다음과 같다
현재 .NET SDK에서는 .NET 6.0을(를) 대상으로 하는 것을 지원하지 않습니다. .NET 5.0 이하를 대상으로 하거나 .NET 6.0을(를) 지원하는 .NET SDK 버전을 사용하세요.
이 문구를 조금 잘라서 구글링을 해보면
바로 마이크로소프트에서 해결하는 법을 안내해준다
MS에서 맞닥뜨린 문구의 기본형은 다음과 같다
NETSDK1045: 현재 .NET SDK는 대상으로 ‘최신 버전’을 지원하지 않습니다. ‘이전 버전’ 이하를 대상으로 하거나 ‘최신 버전’을 지원하는 .NET SDK 버전을 사용합니다.
= .net 버전차이로 인한 오류일 확률이 높다
이러한 문제를 해결하기 위해 찾아보아야 할 것
1. .net SDK 버전
- 프로젝트 파일(.csproj, .vbproj 또는 .fsproj)을 열고 대상 프레임워크를 확인
2. 미리보기가 사용되지 않음
- 도구 > 옵션 > 환경 > 미리보기 기능으로 이동 후 .NET Core SDK 미리보기 사용이 선택되어 있는지 확인
3. Visual Studio 버전
- .NET Core 3.0 이상은 Visual Studio 2019 버전이 필요하며
프로젝트 빌드를 위해서는 2019의 16.3 이상 버전이 필요하다
4. PATH 환경변수
5. MSBuildSDKPath 환경변수
6. global.json 파일
- 프로젝트 루트 폴더에 있는 global.json 파일에 지정된 SDK 버전이 있는지 확인 후,
필요한 .NET Core 버전을 설치한다
7. Directory.build.props 파일
나의 경우는 웬만하면 1번/6번 또는 3번에서 해결이 되긴 함
그렇기도하고 오류자체도 .net 버전에 관련된 것이어서 1번부터 시행해봄
.net SDK 버전 확인하기
프로젝트의 타겟 프레임워크 확인 시
<TargetFramework>netcoreapp3.0</TargetFramework>
위와 비슷한 형태로 찾을수있다
1번박스의 2번 박스를 우클릭하여 속성을 누른다
있어야할곳이 비어있다
그래서 6번의 global.json을 찾아봄
global.json은 WPF-Samples-main 폴더 아래에 바로 있다
{
"sdk": {
"version": "6.0.100-rc.1.21368.3",
"rollForward": "latestFeature"
},
"altsdk": {
"netcoreapp3.1": "3.1.300",
"net6.0-windows": "6.0.100-rc.1.21368.3"
}
}
파일을 열어보면 sdk 버전이 6.0 이상인것을 확인할수있다
= 즉 이 WPF sample 솔루션을 돌려보려면 .net 6.0 이상이 설치되어 있어야한다는것
닷넷 설치 유무나 런타임 버전확인은 위 포스팅 참고하거나
dotnet --list-sdks
위의 명령어를 CMD창에 입력해보면 되겠다
그렇게 찾아봤더니 내 PC에 6.0이 설치가 안되어있어 오류가 발생한것같았다
그래서 설치해본 .net 6.0
.net 버전들은 아래의 주소에서 내려받기가 가능하다
다운로드가 끝나고 난 뒤 프로젝트를 오픈하고 빌드해보면 굉장히 잘 돌아가는것을 알수있다
참고 :
https://docs.microsoft.com/ko-kr/dotnet/core/tools/sdk-errors/netsdk1045
'C#' 카테고리의 다른 글
[Windows] 배치파일, cmd에서 한글 깨질 때, 인코딩 하는법 (0) | 2022.12.07 |
---|---|
[C#] 윈도우에 설치된 폰트 목록 가져오는법 (feat.폰트 저장 위치) (0) | 2021.12.06 |
[C#] 파싱해온 문자열, 특정 단어 기준으로 자르기 (feat. 형변환) (0) | 2021.11.26 |
[C#] .net sdk 설치 유무 및 버전 확인 하는법 (2) | 2021.11.23 |
[C#] 값 형식 참조 형식 변수, 정리 기초 (0) | 2021.10.24 |
[C#] 윈도우 cmd로 컴파일하는 csc.exe 파일 위치 찾는법 (0) | 2021.10.24 |