我想編寫一個安裝網站並創建IIS虛擬目錄的小型安裝程序應用程序。該應用程序應該在Windows XP/Server 2003(IIS 6)以及Vista/2008(IIS 7)上運行。CLR何時嘗試加載引用程序集?
問題是:對於IIS 6,我們通過調用WMI/Metabase API創建virt dirs,對於IIS 7,有一個更好的API:Microsoft.Web.Administration,但它的程序集僅在IIS 7系統上可用。
幼稚的做法:
...
if (OperatingSystem == old)
{
call metabase API...
}
else
{
call Microsoft.Web.Administration...
}
...
不錯,不是嗎?但是,我怎樣才能確保它在嘗試加載Microsoft.Web.Administration DLL時不會在舊系統上崩潰?或者是剛剛加載的程序集,何時首次使用?當第一次使用調用到程序集中的方法時?
我想,如果沒有CLR/.NET規範保證某些確定性,測試就無濟於事。
我非常期待聽到您的經驗,提示或解決方案。到目前爲止,我還沒有在網上找到任何可以遠程使用的東西