웹 사이트를 설치하고 IIS 가상 디렉터리를 만드는 작은 설치 프로그램을 작성하고 싶습니다. 이 응용 프로그램은 Windows XP/Server 2003 (IIS 6)과 Vista/2008 (IIS 7)에서 실행해야합니다.CLR은 언제 참조 된 어셈블리를로드하려고합니까?
문제점 : IIS 6의 경우 WMI/Metabase API를 호출하여 virt dirs를 만듭니다. IIS 7의 경우 Microsoft.Web.Administration이지만 IIS 7 시스템에서만 사용할 수있는 API가 훨씬 있습니다.
나이브 방법 :
...
if (OperatingSystem == old)
{
call metabase API...
}
else
{
call Microsoft.Web.Administration...
}
...
니스, 그렇지? 하지만 Microsoft.Web.Administration DLL을로드하는 중 이전 시스템에서 충돌이 발생하지 않도록하려면 어떻게해야합니까? 또는 어셈블리를 처음로드했을 때로드 된 어셈블리입니까? 어셈블리를 호출하는 메서드를 처음 사용할 때?
CLR/.NET 사양에 의해 보장되는 결정 성이 없으면 테스트가 도움이되지 않을 것입니다.
본인은이 주제에 대한 귀하의 경험, 힌트 또는 솔루션을 정말로 기다리고 있습니다. 지금까지 웹에서 원격으로 사용할 수있는 것을 찾지 못했습니다.