본문 바로가기
Unity3D/Tip

Unity VSCode에서 오류가 날 때: CS0246 형식 또는 네임스페이스 이름을 찾을 수 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하세요.

by 니키티스 2020. 12. 26.

이번 글은 아래의 Unity Answer에 있는 답변글을 참조하였습니다.

VS Code does not find some classes. cs0246/cs0103 - Unity Answers

 

VS Code does not find some classes. cs0246/cs0103 - Unity Answers

 

answers.unity.com

 

Unity VSCode에서 오류가 날 때

유니티에서 VSCode를 사용할 때 다음과 같은 오류가 발생할 때가 있습니다.

 

한글
cs0246: 형식 또는 네임스페이스 이름을 찾을 수 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하세요.
영문
cs0246: The type or namespace name could not be found (are you missing a using directive or an assembly reference?)

 

여기서 문제점은, 분명 실행해보면 아무런 문제 없이 잘 돌아간다는 것입니다.

 

정말 이상한 상황이죠? 분명 오류가 발생하는데 문제 없이 실행이 잘 된다니!

 

네임스페이스 이름도 제대로 지정했고 참조도 제대로 했고 컴파일도 제대로 되어 있고...

아무리 찾아봐도 코드에 문제가 없다면 유니티 자체에 문제가 있을 가능성이 있어요.

 

이 경우 해결 방법은 유니티의 패키지 매니저에서 VS Code 버전을 바꿔주는 것입니다.

밑에 과정을 정리해놓았으니 그대로만 따라 하시면 손쉽게 해결하실 수 있을 거예요!

 

1. 유니티에서 Package Manager에 들어간다.

상단의 Window 메뉴를 눌러 들어갈 수 있다.

 

2. Visual Studio Code Editor를 찾는다.

오른쪽 위의 검색 창에 들어가서 Visual Studio Code Editor를 검색합니다.

만약 해당 패키지가 1.1.4 버전이라면 버전에 문제가 있어서 해당 현상이 발생하는 것입니다.

 

Unity Docs에 들어가보면 1.1.4의 업데이트 내용이 이렇게 나온다. 아무래도 csproj 파일을 건드리다가 문제가 생긴 모양이다.

이 경우 버전을 변경해주어야 하는데요.

첫 번째로 1.2.3 버전으로 업데이트할 수도 있고...

두 번째로 1.1.3 버전으로 다운그레이드 해서 해결할 수도 있습니다.

 

1.2.3 버전으로 업데이트하면 Package Manager에서 버튼 한 번만 눌러 업데이트가 가능하니, 저는 첫 번째를 추천합니다.

만약 최신 버전이 1.2.3이 아니라 더 높은 버전이라면, 그걸로 업데이트하셔도 괜찮습니다!

 

저 같은 경우에는 이미 1.2.3 버전으로 업데이트를 하여서 업데이트 버튼이 보이지 않는데요.

업데이트를 하시려면 Package Manager 창 우측 하단의 'Update To 1.2.3' 버튼을 눌러 업데이트하시면 됩니다.

 

만약 다운그레이드 하시려면 Visual Studio Code Editor package를 검색해서 1.1.3 버전을 찾으면 됩니다.

 

3. 유니티를 종료하고, 해당 프로젝트에서 .csproj 파일과 .sln 파일을 모두 삭제한다.

csproj 파일은 C# 프로젝트 구조를 명세한다. 삭제해도 유니티를 다시 실행하면 자동 생성되니 안심하고 제거하자.

 

4. 유니티를 다시 켜서 VSCode를 다시 연다.

거짓말처럼 빨간 줄들이 사라져 있다!

 

5. 행복 코딩한다.

 

정말 해결하기 간단하죠?

이 문제로 고통받는 분들이 도움을 받아가셨으면 좋겠습니다.

 

댓글