.NET 기본 도구 체인이 관리되는 .winmd 구성 요소 라이브러리를 자세히 처리하는 방법은 무엇입니까?유니버설 Windows .NET 기본 및 winmd 구성 요소 라이브러리
.NET Native는 DLL의 모든 관리 코드를 하나의 실행 파일로 병합하고 원시 파일로 컴파일 할 때 사용되지 않는 코드를 제거합니다.
그러나 .winmd 관리 라이브러리에 어떤 알고리즘이 사용됩니까? 예를 들어 WinRT의 백그라운드 작업 (예 : 오디오 백그라운드 작업)은 winmd 라이브러리에서 호스팅되며 이러한 작업은 winmd가 제공 한 클래스를 동적으로 호출하는 시스템 제공 기본 프로세스 내에서 호스팅됩니다. .NET 네이티브 개념과 어떻게 호환됩니까?
.NET Native가 관리되는 .winmd 코드를 네이티브로 변환하지 않을 수도 있고 환경이 관리되는 winmd에서 코드를 실행하기 위해 .NET 런타임으로 대체 될 것이므로 원시 컴파일 된 실행 파일의 이점을 포기할 것입니다. 또는 어떻게 작동합니까?
정보를 제공해주십시오. MSDN 설명서에는 관리되는 winmd 구성 요소 라이브러리 및 .NET 네이티브 도구 체인에 대한 자세한 정보가 없습니다.
그것은 단지 메타 데이터에는 모든 .NET 메타 데이터에서 .NET 어셈블리에서 다른.하지 모듈에서 내 보낸 형식을 설명합니다. 그것은 비 관리 코드에서도 작동한다는 점을 제외하면 C++에서도 이러한 백그라운드 작업을 작성할 수 있습니다. 실제로 .winmd의 형식은 .NET 메타 데이터의 형식과 정확히 동일합니다. ildasm.exe와 같은 .NET 디 컴파일러를 사용하여 볼 수 있습니다. 그것에 대해 특별히 신비한 것은 없지만,이 "걱정"은 무의미합니다. –
@HansPassant 제 질문은 .NET 네이티브 툴 체인과 함께 어떻게 작동하는지입니다. –