Version: 2019.2
어셈블리 정의
관리되는 코드 스트리핑

어셈블리 정의 프로퍼티

인스펙터 창에서 어셈블리의 프로퍼티를 설정하려면 해당 어셈블리 정의 에셋을 클릭합니다.

어셈블리 정의 인스펙터
어셈블리 정의 인스펙터

Name

어셈블리의 이름(파일 확장자 없음)입니다. 어셈블리 이름은 프로젝트 전체에 걸쳐 고유해야 합니다. 특히 어셈블리가 두 개 이상의 프로젝트에서 사용될 가능성이 있는 경우, 리버스 dns 방식으로 이름을 지정하는 것을 고려하십시오. Unity는 어셈블리 정의 에셋에 할당된 이름을 Name 필드의 기본값으로 사용합니다. 원하는 경우 이 이름을 변경할 수 있습니다.

General

Allow ‘unsafe’ Code

어셈블리 내 스크립트에서 C# unsafe 키워드를 사용하는 경우 Allow ‘unsafe’ Code 를 활성화합니다. 이 옵션이 선택되면 Unity는 어셈블리를 컴파일할 때 C# 컴파일러에 /unsafe 옵션을 전달합니다.

Auto Referenced

사전 정의된 어셈블리가 모두 이 프로젝트 어셈블리를 참조해야 할지 지정합니다. 이 옵션을 선택하면 사전 정의된 어셈블리가 프로젝트에 정의된 모든 어셈블리를 참조합니다. 이는 사전 컴파일된 어셈블리(플러그인)가 사전 정의된 어셈블리에 의해 참조되는 방식과 일치합니다.

파일에 대해 Auto Reference 옵션을 비활성화하면 Unity는 컴파일 동안 파일을 자동으로 참조하지 않습니다. 이는 빌드에 포함되는지 여부에는 영향을 미치지 않습니다. 플러그인의 빌드 설정을 제어하려면 플랫폼 설정을 사용하십시오.

Override References

이 어셈블리가 종속되는 사전 컴파일된 어셈블리를 수동으로 지정하려면 Override References 옵션을 활성화합니다. Override References 를 활성화하면 인스펙터가 Assembly References 섹션을 표시합니다. 이 섹션에서 레퍼런스를 지정할 수 있습니다.

사전 컴파일된 어셈블리는 Unity 프로젝트 외에서 컴파일된 라이브러리입니다. 기본적으로 프로젝트에 정의된 어셈블리는 프로젝트에 추가한 모든 사전 컴파일된 어셈블리를 참조합니다. 이는 사전 정의된 어셈블리가 모든 사전 컴파일된 어셈블리를 참조하는 방식과 일치합니다. Override References 를 활성화하면 해당 어셈블리는 Assembly References 에 추가한 사전 컴파일된 어셈블리만 참조합니다.

사전 컴파일된 어셈블리가 프로젝트 어셈블리에 의해 자동으로 참조되지 않게 하려면 Auto Referenced 옵션을 비활성화하십시오. 자세한 내용은 플러그인 인스펙터를 참조하십시오.

Define Constraints

어셈블리가 컴파일되거나 참조되려면 필수적으로 정의해야 하는 컴파일러 #define 지시문을 지정합니다.

Unity는 모든 Define Constraints 가 충족되어야만 프로젝트 어셈블리를 컴파일하고 참조합니다. 제약은 C#의 #if 전처리기 지시문처럼 작동하되, 스크립트 레벨이 아닌 어셈블리 레벨에서 작동합니다. Define Constraints 설정의 모든 기호를 정의해야 제약이 충족됩니다. 취소를 의미하는 !(느낌표) 기호를 앞부분에 붙여 기호가 정의되지 않아야 한다고 지정할 수도 있습니다. 예를 들어, 다음 기호를 Define Constraints 로 지정하는 경우를 살펴보겠습니다.

!ENABLE_IL2CPP 
UNITY_2018_3_OR_NEWER

기호 ENABLE_IL2CPP가 지정되지 않고 기호 UNITY_2018_3_OR_NEWER가 지정되는 경우 제약이 충족됩니다. 즉, 이 어셈블리는 Unity 2018.3 이상을 위한 비 IL2CPP 스크립팅 런타임에서만 컴파일 및 참조됩니다.

Unity의 빌트인 #define 지시문을 사용하거나, 프로젝트의 Scripting Define Symbols 플레이어 설정에 정의된 모든 기호를 사용할 수 있습니다. 빌트인 기호의 목록을 비롯한 자세한 내용은 플랫폼별 컴파일을 참조하십시오. Scripting Define Symbols 설정은 플랫폼별로 다릅니다. 이 설정을 통해 어셈블리 사용 여부를 정의하는 경우 반드시 해당하는 모든 플랫폼에서 필수 기호를 정의하십시오.

Assembly Definition References

어셈블리 정의 에셋을 사용하여 생성한 다른 어셈블리에 대한 레퍼런스를 지정합니다.

Unity는 이러한 레퍼런스를 사용하여 어셈블리를 컴파일하고 어셈블리 간 종속성을 정의합니다.

Use GUIDs 옵션은 Unity가 다른 어셈블리 정의 에셋에 대한 레퍼런스를 직렬화하는 방식을 제어합니다. Use GUIDs 가 활성화되면 Unity는 레퍼런스를 어셈블리 정의 이름이 아니라 에셋의 GUID로 저장합니다. 이름 대신 GUID를 사용하는 것은 항상 바람직합니다. 이렇게 하면 참조하는 다른 어셈블리 정의 파일을 업데이트하지 않고도 어셈블리 정의 에셋의 이름에 변경 사항을 적용할 수 있습니다.

Assembly References

이 어셈블리가 종속된 사전 컴파일된 어셈블리에 대한 레퍼런스를 지정합니다. 사전 컴파일된 어셈블리에 대한 레퍼런스를 수동으로 지정하려면 General 섹션의 Override References 옵션을 선택해야 합니다.

Unity References

어셈블리를 테스트 어셈블리로 표시하려면 인스펙터의 Test Assemblies 옵션을 활성화합니다. Test Assemblies 를 활성화하면 어셈블리 정의에 unit.framework.dll과 UnityEngine.TestRunner.dll 라이브러리에 대한 레퍼런스가 추가됩니다.

어셈블리를 테스트 어셈블리로 표시하면 사전 정의된 어셈블리(예: Assembly-CSharp.dll)가 해당 어셈블리를 자동으로 참조하지 않으며, 어셈블리가 빌드에 포함되지 않습니다.

테스트 어셈블리를 플레이어 빌드에 포함하려면 빌드 스크립트에서 BuildOption.IncludeTestAssemblies를 사용하십시오.

참고: 이 옵션은 빌드의 어셈블리만 포함하며 테스트를 실행하지 않습니다.

Platforms

어셈블리의 플랫폼 호환성을 설정합니다. Unity는 포함된(혹은 포함되지 않은) 플랫폼에서만 해당 어셈블리를 컴파일하거나 참조합니다.

어셈블리 정의
관리되는 코드 스트리핑