인프런 커뮤니티 질문&답변

권오리님의 프로필 이미지
권오리

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

Protobuf 이식 (코드 리뷰)

[팁] 2024년 기준 버전 이슈?

작성

·

81

0

VS2022 사용자분들 중, 강의 내용을 제대로 따라 갔음에도 클라에서 로그가 안 찍히는 경우가 있을 거에요.

삽질해본 결과 유니티에서 최대로 지원하는 .Netcore 버전보다 높은 버전으로 프로젝트를 생성하여 뽑혀나오는 dll 이 유니티 프로젝트와 호환되지 않기 때문인 것 같았어요.

따로 신경 쓰지 않으면 VS2022 로 프로젝트를 만들 때, .NetCore 버전이 6.0 이상으로 생성하실텐데, 강의와 동일한 버전으로 맞추면 다소 찝찝하긴 해도 문제가 해결되긴 합니다. ( 현 시점기준 3.1 은 유지보수가 중단됐어요... )
ServerCore.dll 도 3.1 로 뽑히고, nuget 으로 받아온 dll 도 프로젝트 버전에 맞게 바이너리에 잘 복사되더라구요.

추가) 혹시나 NetCore 6.0 에서 3.1로 변경 후 자동 생성된 static using 코드들로 인해 컴파일 에러가 자꾸 발생한다면, 해당 프로젝트의 proj 파일을 열어서

<ImplicitUsings>disable</ImplicitUsings>

로 바꿔주고, namespace 때문에 컴파일 에러 나는 부분들을 하나씩 수정해주면 해결됩니다.

 

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 권오리님.

현재 질문에 대해 유사한 기존 질문 및 해결책을 찾았습니다. 유니티와 .NET 버전 호환 문제에 대한 해결 방법을 다룬 게시물입니다. 특히, 유니티 프로젝트와 .NET Core 버전 호환성을 맞추기 어려운 경우에는 일반적으로 권장되는 방법들이 있으니 참고해 보시기 바랍니다.

유사한 해결법과 추가 설명:

  1. 넷 버전 질문드립니다.

    • 이 게시물에서는 .NET 버전을 선택할 때 3.1이나 그 이하 버전으로 선택하는 것이 좋다고 설명하고 있으며, 버전 간의 차이점에서 생길 수 있는 문제를 다룹니다. 게임 서버 파트에서는 큰 차이가 없지만, 웹 서버나 Entity Framework Core와의 호환성 문제는 있을 수 있습니다.
  2. .dll 에 관해서

    • .dll 파일의 버전 문제가 발생할 때의 해결 방법 및 필요한 라이브러리를 찾는 방법에 대해 다루고 있습니다. 가장 일반적인 방법은 에러 메시지를 구글링하여 비슷한 사례를 찾아보는 것이며, 환경 설정 문제는 프로그래머들이 자주 겪는 문제라고 설명합니다.

권오리님의 경우처럼 프로젝트가 .NET Core 6.0에서 생성되어 생기는 호환성 문제는 종종 발생합니다. 유니티는 최신 버전을 항상 지원하지 않기 때문에 더 구 버전으로 돌아가는 것이 문제 해결의 실마리가 될 수 있습니다. 현재 .NET Core의 최신 버전이 6.0이지만, 유니티가 지원하는 버전을 항상 확인하여 프로젝트를 설정하는 것이 좋습니다.

또한, ImplicitUsings 설정을 비활성화하여 불필요한 namespace 문제를 해결하는 방법은 매우 유용하면서도 실질적인 해결책입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

권오리님의 프로필 이미지
권오리

작성한 질문수

질문하기