Я хочу написать небольшое приложение для установки, которое устанавливает веб-сайт и создает виртуальные каталоги IIS. Приложение должно работать на Windows XP/Server 2003 (IIS 6), а также на Vista/2008 (IIS 7).Когда CLR пытается загрузить ссылочную сборку?
Проблема заключается в следующем: для IIS 6 мы создаем virt dirs, вызывая API WMI/Metabase, для IIS 7 существует гораздо лучший API: Microsoft.Web.Administration, но его сборка доступна только в системах IIS 7.
Наивный подход:
...
if (OperatingSystem == old)
{
call metabase API...
}
else
{
call Microsoft.Web.Administration...
}
...
Ницца, не так ли? Но как я могу убедиться, что это не сбой в старой системе только при попытке загрузить DLL Microsoft.Web.Administration? Или сборка только что загружена, когда она впервые используется? Когда сначала используется метод, вызывающий сборку?
Я полагаю, тестирование не помогает без определенного детерминизма, гарантированного спецификацией CLR/.NET.
Я действительно с нетерпением жду ваших впечатлений, советов или решений по этой теме. До сих пор я не нашел ничего доступного в Интернете.