Version: 2019.4
언어: 한국어
어셈블리 정의
관리되는 코드 스트리핑

어셈블리 정의 프로퍼티

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

어셈블리 정의 인스펙터
어셈블리 정의 인스펙터
프로퍼티 설명
Name 어셈블리의 이름(파일 확장자 없음)입니다. 어셈블리 이름은 프로젝트 전체에 걸쳐 고유해야 합니다. 특히 어셈블리를 두 개 이상의 프로젝트에서 사용하려는 경우 리버스 DNS 방식으로 이름을 지정하는 것을 고려하십시오. 참고: Unity는 어셈블리 정의 에셋에 할당된 이름을 Name 필드의 기본값으로 사용합니다. 원하는 경우 이 이름을 변경할 수 있습니다.
General
Allow ‘unsafe’ code 어셈블리 내 스크립트에서 C# /unsafe 키워드를 사용하는 경우 Allow ‘unsafe’ Code 옵션을 활성화합니다. 이 설정을 활성화하면 Unity는 어셈블리를 컴파일할 때 C# 컴파일러에 /unsafe 옵션을 전달합니다.
Auto Referenced 모든 사전 정의된 어셈블리가 이 프로젝트 어셈블리를 참조해야 하는지 여부를 지정합니다. 이 프로퍼티를 활성화하면 사전 정의된 어셈블리가 프로젝트에 정의된 모든 어셈블리를 참조하고 사전 정의된 어셈블리가 사전 컴파일된 어셈블리(플러그인)를 참조하는 방식에 맞춥니다.

파일에 대해 Auto Reference 설정을 비활성화하면 Unity는 컴파일 동안 해당 파일을 자동으로 참조하지 않습니다. 이는 Unity가 빌드에 포함하는지 여부에는 영향을 주지 않습니다. 플랫폼 설정에서 플러그인에 대한 빌드 설정을 조정할 수 있습니다.
Override References Override References 설정을 활성화하면 이 어셈블리가 기반할 사전 컴파일된 어셈블리를 수동으로 지정할 수 있습니다. Override References 를 활성화하면 인스펙터에 Assembly References 섹션이 표시되고, 여기에서 레퍼런스를 지정할 수 있습니다.

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

참고: 프로젝트 어셈블리가 사전 컴파일된 어셈블리를 자동으로 참조하지 못하게 하려면 Auto Referenced 옵션을 비활성화해야 합니다. 자세한 내용은 플러그인 인스펙터를 참조하십시오.
No Engine References 이 프로퍼티를 활성화하면 Unity는 어셈블리를 컴파일할 때 UnityEditor 또는 UnityEngine에 레퍼런스를 추가하지 않습니다.
Define Constraints Specify the compiler #define directives that must be defined for Unity to compile or reference an assembly.

Unity only compiles and references a Project assembly if all of the Define Constraints are satisfied. Constraints work like the #if preprocessor directive in C#, but on the assembly level instead of the script level. You must define all the symbols in the Define Constraints setting for the constraints to be satisfied.

To specify that a symbol must be undefined, prefix it with a negating ! (bang) symbol. For example, if you specify the following symbols as the Define Constraints:

!ENABLE_IL2CPP
UNITY_2018_3_OR_NEWER

The constraints are satisfied when the symbol ENABLE_IL2CPP is not defined and the symbol UNITY_2018_3_OR_NEWER is defined. In other words, Unity only compiles and references this assembly on non-IL2CPP scripting runtimes for Unity 2018.3 or newer.

You can use the || (OR) operator to specify that at least one of the constraints must be present in order for the constraints to be satisfied. For example:

UNITY_IOS || UNITY_EDITOR_OSX
UNITY_2019_3_OR_NEWER
!UNITY_ANDROID

The constraints are satisfied when either UNITY_IOS or UNITY_EDITOR_OSX and UNITY_2019_3_OR_NEWER are defined and UNITY_ANDROID is not defined. Individual lines are analogous to performing a logical AND between the constraints in them. The above example is eequivalent to (UNITY_IOS OR UNITY_EDITOR_OSX) AND (UNITY_2019_3_OR_NEWER) AND (NOT UNITY_ANDROID).

You can use any of Unity’s built-in #define directives or any symbols defined in the Project’s Scripting Define Symbols Player setting. See Platform dependent compilation for more information, including a list of the built-in symbols. Note" The Scripting Define Symbols settings are platform-specific. If you use this setting to define whether Unity should use an assembly, make sure that you define the necessary symbols on all of the relevant platforms.
Assembly Definition References 어셈블리 정의 에셋을 사용하여 생성한 다른 어셈블리에 대한 레퍼런스를 지정합니다.

Unity는 이러한 레퍼런스를 사용하여 어셈블리를 컴파일하고 어셈블리 간 종속성을 정의합니다.
Use GUIDs 이 설정은 Unity가 다른 어셈블리 정의 에셋에 대한 레퍼런스를 직렬화하는 방식을 제어합니다. 이 프로퍼티를 활성화하면 Unity는 레퍼런스를 어셈블리 정의 이름이 아니라 에셋의 GUID로 저장합니다. 이름 대신 GUID를 사용하는 것은 항상 바람직합니다. 이렇게 하면 참조하는 다른 어셈블리 정의 파일을 업데이트하지 않고도 어셈블리 정의 에셋의 이름에 변경 사항을 적용할 수 있습니다.
Assembly References Override References 프로퍼티를 활성화한 경우에만 나타납니다. 이 영역을 사용하면 이 어셈블리가 기반할 사전 컴파일된 어셈블리에 레퍼런스를 지정할 수 있습니다.
Platforms 어셈블리의 플랫폼 호환성을 설정합니다. Unity는 포함된(혹은 포함되지 않은) 플랫폼에서만 해당 어셈블리를 컴파일하거나 참조합니다.
Version Defines 컴파일에 포함할 패키지 버전과 모듈을 지정합니다.
어셈블리 정의
관리되는 코드 스트리핑