Build 시 HideFlagsDontSave 오류 발생 시 대응

3831 단어 Unity

개발 환경


Unity5.6.1f1
C#

문제의 발생


Unity 구축 중 다음 오류가 발생했습니다.
An asset is marked with HideFlags.DontSave but is included in the build:
Asset: 'Library/unity editor resources'

Building - Failed to write file: sharedassets0.assets
UnityEditor.HostView:OnGUI()
이 오류가 발생하더라도 구축 자체가 완성되지만 생성된 구축은 시작되지 않습니다.
잘못 읽은 말.문제는 DontSave 로고가 달린 Asset을 건물 안에 포함시켰는데, 그 Asset은 Library/unity editor resources 소속인 것 같다.편집기...정규 빌딩에 포함될 수 없는 것 같아.
근데 여기 문제는 무슨 에셋일까요?
기타 정보%APPDATA%..\Local\Unity\Editor\Editor.log를 열고 오류에 대한 자세한 정보를 확인하십시오.
An asset is marked with HideFlags.DontSave but is included in the build:
Asset: 'Library/unity editor resources'
(You are probably referencing internal Unity data in your build.)
UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck(String[], String, String, BuildTargetGroup, BuildTarget, BuildOptions, Boolean)
UnityEditor.BuildPlayerWindow:BuildPlayerWithDefaultSettings(Boolean, BuildOptions, Boolean) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:485)
UnityEditor.BuildPlayerWindow:BuildPlayerWithDefaultSettings(Boolean, BuildOptions) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:339)
UnityEditor.BuildPlayerWindow:GUIBuildButtons(IBuildWindowExtension, Boolean, Boolean, Boolean, BuildPlatform) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:1390)
UnityEditor.BuildPlayerWindow:ShowBuildTargetSettings() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:1317)
UnityEditor.BuildPlayerWindow:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:913)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
System.Reflection.MethodBase:Invoke(Object, Object[]) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView:Invoke(String, Object) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:262)
UnityEditor.HostView:Invoke(String) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:255)
UnityEditor.HostView:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:84)
이 호출은 스택의 BuildPlay Window 및 Unity Editor를 호출합니다.HostView: OnGUI()는 건물에 표시된 GUI 창일 뿐입니다.즉, 우리가 원하는 잘못된 정보는 특별히 표시되지 않은 것 같다.

원인 자산



이번 오류의 원인은 Asset이 과거에 어떤 샘플에서 복사한 OL입니다.Box@2x네.

그렇군요, 확실히 이 에셋의 소속은 Library/unity editor resources입니다.이 인용을 취소함으로써 구축에 성공했습니다.하지만 이는 트레이스 개정판이 운 좋게 발견한 것이다.앞으로 더 효과적인 발견 방법이 있을까요?

원인 자산을 찾는 방법


이번 문제는 메타 파일로 확인하면 그렇습니다.
  m_inspector_style:
    m_Name: box
    m_Normal:
      m_Background: {fileID: 0}
      m_ScaledBackgrounds:
      - {fileID: -8126836811217315462, guid: 0000000000000000d000000000000000, type: 0}
      m_TextColor: {r: 0, g: 0, b: 0, a: 1}
나는 이 파일 ID의 마이너스 값이 매우 마음에 든다.
다른 파일 ID가 마이너스인 곳을 몇 가지 조사한 결과 Image 구성 요소 등 Unity 측이 준비한 것(즉 자신의 프로젝트 이외의 것)이 마이너스인 것으로 나타났다.
이거 뭔가 단서가 있는 것 같은데.

총결산


구축 시 "Library/unity editor resources"리소스를 사용하는 동안 오류가 발생한 경우
사용 위치를 확인하기 위해 *.meta;*.prefab;*.unity에서 항목 내의 fileID: - 파일을 검색합니다
나온 후보들 중에서 수상한 점을 찾다.
당분간 이걸로 문제를 줄일 수 있지만 Library/unity editor resources의 참고값에 대한 더 정확한 정보가 있으면 알려주세요.

좋은 웹페이지 즐겨찾기