Unity, VS Code Omnisharp 에러 해결

su-mmer·2021년 11월 11일

Unity

목록 보기
1/1

목차

  1. 에러 발생
  2. 해결

에러 발생

Visual Studio를 쓰다가 using UnityEngine.UI;를 했더니 UnityEngine.UI를 사용할 수 없다는 에러가 나타났다. External tools에서 VS로 설정하지 않고 디폴트로 둔 것 때문이가 해서 Visual Studio로 변경을 했더니 유니티에 무한로딩이 생겼다.

그래서 이참에 무거운 Visual Studio 대신 VS Code를 써보기로 했다.


Unity Edit > Preferences > External Tools의 External Script Editor를 Visual Studio Code로 바꿔주었다.
다음과 같은 에러가 발생했다.

[fail]: OmniSharp.MSBuild.ProjectManager
        Attempted to update project that is not loaded: c:\Dotnet Core\NgWebApi\NgWebApi.csproj

해결

  1. 본인 컴퓨터 버전에 맞춰서 mono를 설치한다.
    https://www.mono-project.com/download/stable/

  2. 내가 생성한 유니티 폴더에서 Assembly-CSharp.csproj 파일을 찾는다.

  3. TargetFrameworkVersion에 맞춰서 닷넷 프레임워크를 설치한다. 위 사진의 경우 4.7.1을 설치해주면 된다.
    (최신 버전 깔아서 해봤었는데 안돼서 서칭하다 필요한 버전 찾는 방법을 알았다..)
    https://dotnet.microsoft.com/download/dotnet-framework
    설치 후 cmd에 dotnet 명령을 내렸을 때 정보가 뜬다면 설치가 완료된 것.

  4. VSCode 설정에서 Mono 활성화

  5. VSCode에서 OmniSharp의 path를 추가해주어야 한다.
    Preferences -> Settings : OmniSharp.path 검색 : settings.json 파일 열기

    "omnisharp.path":"latest", "omnisharp.useGlobalMono":"always",
    코드를 찾아보고 없으면 settings.json 파일에 추가해준다.

  1. 여기까지 해보고 하단에 omnisharp를 업데이트 한다는 문구가 나오면 다행인데 나는 안 나왔다.. 안나왔다면 하나를 더 진행해본다.
    닷넷코어의 최초 예제를 실행시켜주는 것이다.
    cmd에 아래 명령어들을 입력한다.
    Hello World를 출력하는 간단한 앱이다.
    dotnet new console -o myApp
    cd myApp
    dotnet run

    Hello, World! 출력 되면 최초 예제 실행까지 끝난 것이다.

    아무런 문제 없는 깨끗한 출력화면을 만날 수 있다.

무조건 최신 버전 쓴다고 좋은 게 아니라는 것을 뼈저리게 깨달은 이틀이었다

참고한 사이트

  1. 스택 오버플로우
  2. 블로그

2개의 댓글

comment-user-thumbnail
2023년 1월 16일

좋은 글 감사합니다~❤

답글 달기
comment-user-thumbnail
2023년 4월 11일

잘보고 가요!!!

답글 달기