我想编写一个安装网站并创建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规范保证某些确定性,测试就无济于事。
我非常期待听到您的经验,提示或解决方案。到目前为止,我还没有在网上找到任何可以远程使用的东西