>  기사  >  백엔드 개발  >  C#의 어셈블리 참조

C#의 어셈블리 참조

PHPz
PHPz원래의
2024-09-03 15:19:531101검색

C#에는 API 표면을 나타내는 데 필요한 최소한의 메타데이터가 포함된 참조 어셈블리가 있습니다. 따라서 참조 어셈블리에는 유용한 모든 멤버에 대한 선언이 포함되어 있지만 기본적으로 APsurface 계약을 나타내는 메타데이터를 제공하기 때문에 APsurface에 아무런 영향을 주지 않는 모든 비공개 me 구현 및 선언은 제외됩니다. 따라서 여기에는 두 가지 유형의 어셈블리가 있습니다. 하나는 구현이고 다른 하나는 참조 어셈블리이지만 참조 어셈블리를 사용하여 실행을 위해 로드할 수 없으며 이러한 유형의 어셈블리는 기본적으로 Software Development Kit를 의미하는 SDK와 함께 배포됩니다. 도서관이나 플랫폼.

C#의 어셈블리 참조 구문

아시다시피 이는 코드를 어셈블리로 조립하는 메커니즘입니다. 이를 위해 특별한 구문은 없지만 몇 가지 단계에 따라 C#에서 어셈블리를 정의할 수 있습니다. 이를 위해 참조 관리자 대화 상자를 사용하여 구성 요소에 대한 참조를 관리하고 추가할 수 있습니다. 하지만 사용자 정의 구성 요소에 대한 참조를 추가하려면 수동으로 수행해야 합니다.

코드를 참조하기 위해 따라야 할 단계:

  • 먼저 각 어셈블리에 대해 별도의 폴더를 만들어야 합니다. 그런 다음 스크립트를 관련 폴더에 속한 폴더로 이동할 수 있습니다.
  • 그런 다음 어셈블리 정의가 포함된 모든 스크립트를 가져오는 작업을 Unity에 맡깁니다. 그런 다음 자산 정의를 사용하여 이를 컴파일하고 필요한 정보를 추가합니다.
  • Unity는 우리를 위해 모든 어셈블리를 컴파일하고 해당 종속성도 식별합니다. 그래서 일이 줄어듭니다.

C#에서 참조 어셈블리를 사용할 때 염두에 두어야 할 몇 가지 사항은 다음과 같습니다. 우리 도구를 통해 더욱 효과적으로 관리됩니다.

C#에서 어셈블리 참조는 어떻게 작동하나요?

이미 알고 있듯이 참조 Assembly는 API 표면에 대한 메타데이터를 제공하여 API 표면을 나타냅니다. 그래서 우리는 참조 및 구현 어셈블리에 대해 알고 있지만 여기서는 참조 어셈블리에서 작동하는 방식과 사용 목적을 살펴보겠습니다.

1. 참조 어셈블리를 사용하면 해당 버전에 대한 완전하고 완전한 구현 없이도 라이브러리 참조를 쉽게 지정할 수 있습니다. 즉, 개발자는 특정 라이브러리에 대한 특정 버전을 참조할 수 있습니다.

2. 간단한 예를 통해 이해해 보겠습니다. 컴퓨터에 특정 라이브러리에 대한 최신 버전이 있다고 가정해 보겠습니다. 하지만 현재 프로그램에서는 최신 버전보다 낮은 특정 버전을 사용하고 싶기 때문에 이 경우 해당 라이브러리의 이전 버전을 가리키는 참조 어셈블리를 사용할 수 있습니다. 컴파일 시간 오류도 발생합니다.

이제 C#에서 참조 어셈블리의 구조를 살펴보겠습니다.

참조 어셈블리는 메타데이터 전용 어셈블리라고도 합니다. 여기에는 개인 및 익명 유형을 제외한 모든 멤버가 포함됩니다. 또한 해당 메서드 본문은 throw null로 대체됩니다. 이것을 사용하는 이유는 검증하고 실행하고 통과하기 위해서입니다. 우리는 API 표면을 참조하는 데 유용할 수 있는 메타데이터에서 비공개 mem을 제거한다는 것을 이미 알고 있습니다.

API를 나타내기 위해 저장하는 메타데이터 정보는 다음과 같습니다.

  • 구조체의 모든 필드를 포함합니다.
  • 가상 방법도 모두 포함됩니다.
  • 또한 모든 유형, 중첩 유형 및 개인 유형도 포함됩니다.
  • 구현된 속성과 이벤트에 대한 메타데이터도 포함됩니다. 해당 접근자가 가상이기 때문입니다.
  • 추가로 속성에 대한 세부정보도 포함됩니다.

이제 일부 도구나 IDS를 사용하여 참조 어셈블리를 생성하는 방법을 볼 수 있습니다.

해당 라이브러리의 소비자가 특정 프로그램에 대해 다른 버전을 사용하려는 다양한 시나리오가 있을 수 있기 때문에 참조 라이브러리를 생성합니다. 따라서 참조 어셈블리는 크기가 매우 작기 때문에 프로그램에 대해 이러한 처리를 수행하는 데 도움이 됩니다. 또한 소프트웨어 개발 키트의 일부로만 배포되므로 다운로드 크기를 줄이고 디스크 공간도 절약하는 데 도움이 됩니다.

아래 사항을 사용하여 C#에서 참조 어셈블리를 생성할 수 있습니다.

  • ProduceReferenceAssembly를 사용하여 참조 어셈블리를 생성할 수 있습니다.
  • EmitMetadataOnly 및 IncludePrivateMembers 속성을 사용하여 값을 설정하고 해당 메타데이터를 활성화할 수 있습니다. 그들은 부울 true 또는 false를 받아들입니다. 이 경우 참조 어셈블리를 생성하려면 각각 True 및 False로 설정해야 합니다.
  • C#에서는 참조 어셈블리를 생성하기 위해 명령줄을 사용하여 프로그램을 컴파일러로 시도할 때 -refonly를 사용하거나 -refout을 컴파일러 옵션으로 사용하여 참조 어셈블리를 생성할 수 있습니다. 우리를 위해.

아래 단계에 따라 이를 추가할 수 있습니다.

1. Visual Studio로 이동하여 프로젝트 루트 디렉터리를 선택하세요.

C#의 어셈블리 참조

2. 참조 탭을 클릭하면 화면에 아래 대화 상자가 표시됩니다. 추가할 종속성을 선택하고 확인을 클릭하세요.

C#의 어셈블리 참조

결론

참조 라이브러리를 사용하면 채우기 구현을 로드하지 않고도 최신 버전과 이전 버전 또는 특정 라이브러리를 처리할 수 있습니다. 이는 디스크 공간을 절약하고 성능을 향상시키는 등 여러 가지 방법으로 우리에게 도움이 될 수 있습니다. 또한 일부 변수 값을 설정하고 명령줄을 통해 인수를 전달하여 사용 및 구축이 쉽습니다.

위 내용은 C#의 어셈블리 참조의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C#의 추상화다음 기사:C#의 추상화