주요 콘텐츠로 건너뛰기 이 브라우저는 더 이상 지원되지 않습니다. Show
최신 기능, 보안 업데이트, 기술 지원을 이용하려면 Microsoft Edge로 업그레이드하세요.
이 문서의 내용이 섹션에서는 Visual Stuio Tools for Unity와 관련된 일반적인 문제에 대한 솔루션, 알려진 문제의 설명을 찾아보고 오류를 보고하여 Visual Studio Tools for Unity를 개선하는 데 도움이 되는 방법을 알아봅니다. Unity와 Visual Studio 간의 연결 문제 해결Editor Attaching이 사용으로 설정되었거나 Code Optimization On Startup이 Debug로 설정되었는지 확인합니다.Unity 메뉴에서 사용된 Unity 버전에 따라 다음을 수행합니다.
자세한 내용은 Unity 기본 설정 설명서를 참조하세요. 연결할 수 없음
Visual Studio 크래시이 문제는 Visual Studio MEF 캐시가 손상되었기 때문에 발생할 수 있습니다. MEF 캐시를 다시 설정하려면 다음 폴더를 제거해 보세요. 먼저 Visual Studio를 닫은 후에 이 작업을 수행하세요.
이렇게 하면 문제가 해결됩니다. 문제가 여전히 발생하는 경우 관리자 권한으로 Visual Studio용 개발자 명령 프롬프트를 실행하고 다음 명령을 사용합니다.
Visual Studio가 응답을 중지함Parse, FMOD, UMP(Universal Media Player), ZFBrowser 또는 Embedded Browser와 같이 몇 가지 Unity 플러그 인은 네이티브 스레드를 사용합니다. 플러그인에서 네이티브 스레드를 런타임에 연결할 때 발생하는 문제이며, 이는 OS에 대한 호출을 차단합니다. 즉, Unity는 디버거(또는 도메인 다시 로드)에 대한 해당 스레드를 중단하고 응답을 중지할 수 없습니다. FMOD의 경우 일시적인 해결 방법이 있습니다. 즉, 고유한 네이티브 플러그 인을 개발하는 경우 디버거가 스레드를 일시 중단해야 할 때
APC(비동기 프로시저 호출) 및 특히 Visual Studio에서 호환되지 않는 프로젝트가장 중요한 점은 Visual Studio에서 프로젝트 설정에 “호환되지 않음” 상태를 저장하고 명시적으로
추가 다시 로드 또는 열린 모든 창이 손실되는 Visual Studio자산 처리기나 다른 도구에서 프로젝트 파일을 직접 터치하지 마십시오. 프로젝트 파일을 정말로 조작해야 하는 경우 API를 사용하는 것이 좋습니다. 어셈블리 참조 문제 섹션을 참조하세요. 다시 로드가 추가로 발생하거나 Visual Studio에서 다시 로드 시 열려 있는 창이 모두 손실되면 적절한 .NET 타기팅 팩이 설치되어 있는지 확인해야 합니다. 자세한 내용은 프레임워크에 대한 다음 섹션을 참조하세요. 디버거가 예외 발생 시 중단되지 않음레거시 Unity 런타임(.NET 3.5와 동일)을 사용할 때 예외가 처리되지 않으면 디버거가 항상 중단됩니다(=try/catch 블록 외부에서). 예외가 처리되면 디버거는 예외 설정 창을 사용하여 중단이 필요한지 여부를 결정합니다. 새 런타임(.NET 4.6과 동일)을 통해 Unity에 사용자 예외를 관리하는 새로운 방법이 도입되었기 때문에 모든 예외가 try/catch 블록 외부에 있어도 "사용자 처리"로 표시됩니다. 따라서 디버거를 중단하려면 예외 설정 창에서 명시적으로 디버거를 확인해야 합니다. 예외 설정 창(디버그 > 창 > 예외 설정)에서 예외 범주(예: .NET 예외를 의미하는 공용 언어 런타임 예외)에 대한 노드를 확장하고 해당 범주 내에서 catch하려는 특정 예외(예: System.NullReferenceException)에 대한 확인란을 선택합니다. 전체 예외 범주를 선택할 수도 있습니다. Windows에서 Visual Studio는 Unity 대상 프레임워크를 다운로드하도록 요청합니다.레거시 Unity 런타임(.NET 3.5 등가)을 사용하는 경우 Visual Studio Tools for Unity Windows 8 또는 10에 기본적으로 설치되지 않는 .NET Framework 3.5가 필요합니다. 이 문제를 해결하려면 지침에 따라 .NET framework 3.5를 다운로드하고 설치하세요. 새 Unity 런타임을 사용할 때 Unity 버전에 따라 .NET 대상 지정 팩 버전 4.6 또는 4.7.1도 필요합니다. Visual Studio 설치 관리자를 사용하여 신속하게 설치할 수 없습니다(설치, 개별 구성 요소, .NET 범주 수정, 모든 4.x 타기팅 팩 선택). 어셈블리 참조 또는 프로젝트 속성 문제프로젝트가 복잡한 전체 참조이거나 이 생성 단계를 더 잘 제어하려는 경우 API를 사용하여 생성된 프로젝트 또는 솔루션 콘텐츠를 조작할 수 있습니다. Unity 프로젝트에서 응답 파일을 사용할 수도 있으며, 이렇게 처리할 예정입니다. 최신 Visual Studio와 Unity 버전을 사용하면 생성된 프로젝트와 함께 사용자 지정 경고가 있는 중단점Visual Studio에서 특정 중단점에 대한 원본 위치를 찾을 수 없는 경우 중단점 주변에 경고가 표시됩니다. 사용하는 스크립트가 현재 Unity 장면에 제대로 로드/사용되었는지 확인합니다. 적중되지 않는 중단점사용하는 스크립트가 현재 Unity 장면에 제대로 로드/사용되었는지 확인합니다. Visual Studio와 Unity를 모두 종료한 다음, 생성된 모든 파일(*.csproj, *.sln)과 Android 플레이어를 디버그할 수 없음플레이어 검색(Unity에서 사용하는 기본 메커니즘)에 멀티캐스트를 사용하지만, 이후에는 일반 TCP 연결을 사용하여 디버거를 연결합니다. 검색 단계는 Android 디바이스에 대한 주요 문제입니다. Wi-Fi는 유용하지만 대기 시간 때문에 USB에 비해 속도가 느립니다. 일부 라우터 또는 디바이스에 대해 적절한 멀티캐스트 지원이 부족하다는 것을 확인했습니다(Nexus 시리즈는 이에 대해 잘 알려져 있음). USB는 디버깅하기에 매우 빠릅니다. 이제 Visual Studio Tools for Unity에서 USB 디바이스를 감지할 수 있고 디버깅을 위해 adb 서버와 통신하여 포트를 올바르게 전달할 수 있습니다. IntelliSense 또는 코드 색 지정 관련 문제Visual Studio를 최신 버전으로 업그레이드해 보세요. 호환되지 않는 프로젝트에 대해 동일한 문제 해결 단계를 시도합니다. 알려진 문제Visual Studio Tools for Unity에는 디버거가 C# 컴파일러의 Unity 이전 버전과 상호작용하는 방법에서 발생하는 알려진 문제가 있습니다. 문제를 해결하기 위해 노력 중이지만 해결하기 전까지 다음과 같은 문제가 발생할 수 있습니다.
오류 보고충돌, 고정 또는 기타 오류가 발생하는 경우 오류 보고서를 전송하여 Visual Studio Tools for Unity의 품질을 개선할 수 있도록 도와주시기 바랍니다. Visual Studio Tools for Unity의 문제를 조사하고 해결하는 데 도움이 됩니다. 감사합니다! Visual Studio가 고정될 때 오류를 보고하는 방법Visual Studio가 Visual Studio Tools for Unity로 디버그할 때 중지되는 경우가 있다는 보고가 있지만 이 문제를 파악하려면 더 많은 데이터가 필요합니다. 아래의 단계를 따라 이 문제를 조사하는 데 도움을 주실 수 있습니다. Visual Studio가 Visual Studio Tools for Unity로 디버그할 때 중지되는 문제를 보고하려면Windows:
Mac:
마지막으로 Visual Studio가 중지되었을 때 수행한 작업에 대한 설명과 함께 스레드 덤프를 으로 보냅니다. 참조
추가 리소스추가 리소스이 문서의 내용 |