만나다이리CLR v2 (.NET 2.0, 3.0 및 3.5)와 관련된 CLR 호스팅에 대한 자세한 내용 .NET 4.0의 최신 CLR 호스팅 API에 대한 자세한 내용은여길 봐.
기본적으로 CLR은 프로세스에 의해로드되고 "호스팅"될 수있는 라이브러리 역할을합니다. 원하는 경우 CLR을로드하고 호스팅하는 응용 프로그램을 개발할 수 있습니다. 이를 통해 앱에 전체 CLR 가상 시스템을 포함시키고 어셈블리를로드하고 .NET 관리 코드를 모두 실행할 수 있습니다.
예를 들어, SQL Server 2008에서는이 작업을 수행 할 수 있습니다. SQL Server 데이터베이스에 저장되고 SQL Server 데이터베이스 엔진에서 실행되는 .NET 코드를 작성할 수 있습니다. SQL Server는이를 달성하기 위해 CLR을 호스팅합니다.
Windows 셸 (일반 사용자 인터페이스) 이외의 CLR 호스트는 코드를 실행할 특정 컨텍스트를 제공 할 수 있습니다. 이것은 특수한 응용 프로그램 또는 매우 특별한 시나리오에 유용 할 수 있습니다. 위의 MSDN 링크에는 이러한 문제에 대한 몇 가지 지침이 있습니다.
CLR 호스팅은 원하는 프로세스에서 .NET 공용 언어 런타임을 호스팅합니다.
유스 케이스는 기존 환경이 요구 사항에 맞지 않는 상황입니다. 기존 환경 중 일부는 ASP.NET, WinForms, Windows Workflow Foundation 등입니다. 이러한 환경이 요구 사항에 맞지 않으면 직접 호스팅 할 수 있습니다.
CLR 호스팅은 .NEt 응용 프로그램을 사용합니다. 네이티브 프로세스 내에서 .NET 런타임을 시작하면 해당 네이티브 응용 프로그램이 런타임의 호스트가됩니다. 이를 통해 네이티브 응용 프로그램에 .NET 기능을 추가 할 수 있습니다.
런타임이 실행 중이지만 아직로드 된 사용자 코드가없는 경우 일부 내부 스레드 스케줄러 및 가비지 수집기는 CLR 런타임의 일부이므로 반드시 실행되고 있습니다. 그것은 다른 호스팅 서비스보다 매우 복잡합니다.