我想创建一个应用程序,将部署一个网站。基本上,我只希望这个应用程序将发布文件复制到一个新文件夹中的new服务器,将网站更改为该文件夹,然后回收应用程序池。
我发现我应该能够用Microsoft.Web.Administration做到这一点。即使是最基本的任务,我也有问题,因为我正在学习如何做到这一点。下面是我在windows表单应用程序中的代码,只需使用它即可。
try
{
using (Microsoft.Web.Administration.ServerManager sm = Microsoft.Web.Administration.ServerManager.OpenRemote("webservername"))
{
foreach (var site in sm.Sites)
{
MessageBox.Show(string.Format("{0}", site.Name));
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());我只是试图循环浏览网站,并显示名称作为我的第一次尝试。我得到的错误如下:
'Microsoft.Web.Administration.Interop.IAppHostWritableAdminManager'.:无法将'System.__ComObject‘类型的COM对象转换为接口类型为System.__ComObject此操作失败,因为对IID‘{FA7660F6-7B3F-4237-A8BF-ED0AD0DCBBD 9}’的接口的COM组件的QueryInterface调用失败:接口未注册(HRESULT例外: 0x80040155)。
在Microsoft.Web.Administration.ConfigurationManager.CreateAdminManagerTClass,TInterface
在Microsoft.Web.Administration.ConfigurationManager.CreateWritableAdminManager(WebConfigurationMap webConfigMap,String configPathToEdit,Boolean )
在Microsoft.Web.Administration.ConfigurationManager.CreateConfiguration(WebConfigurationMap configMap,String configPathToEdit,Boolean )
在Microsoft.Web.Administration.ConfigurationManager.GetConfiguration(String rawConfigurationPath,String cacheKey,Boolean )
在Microsoft.Web.Administration.ConfigurationManager.GetApplicationHostConfiguration()
在Microsoft.Web.Administration.ServerManager.GetApplicationHostConfiguration()
在Microsoft.Web.Administration.ServerManager.get_SitesSection()
在Microsoft.Web.Administration.ServerManager.get_Sites()
错误的底线是:
foreach (var site in sm.Sites)我已经在本地IIS8快递和windows服务器2008IIS7.5中尝试了这一点。
我做错了什么?
发布于 2015-01-21 18:18:11
您可能需要检查以下几点:
发布于 2020-04-27 18:48:57
代码正在执行的机器需要安装installed和Tools Windows功能。
在Windows或Windows 2008 R2和更早版本上,您可以通过以下步骤安装它:
发布于 2015-06-18 14:04:06
您正在尝试管理远程服务器,因此
https://stackoverflow.com/questions/28073701
复制相似问题