Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法访问IIS服务器管理器配置_C#_Wpf_Iis - Fatal编程技术网

C# 无法访问IIS服务器管理器配置

C# 无法访问IIS服务器管理器配置,c#,wpf,iis,C#,Wpf,Iis,我想在WPF TreeView控件中显示IIS配置。 我的操作系统是Windows 8.1,我正在用VS2013编写C#。 因此,我添加了对Microsoft.Web.Administration.dll的引用,并编写了以下代码: using (ServerManager serverManager = new ServerManager()) { foreach (var site in serverManager.Sites) {

我想在WPF TreeView控件中显示IIS配置。 我的操作系统是Windows 8.1,我正在用VS2013编写C#。 因此,我添加了对Microsoft.Web.Administration.dll的引用,并编写了以下代码:

    using (ServerManager serverManager = new ServerManager())
    {
        foreach (var site in serverManager.Sites)
        {
            var siteNode = new TreeViewItem() { Header = string.Format("Site: {0}", site.Name) };
            _irv.trvIisInformation.Items.Add(siteNode);
            foreach (var application in site.Applications)
            {
                var appPoolNode = new TreeViewItem() { Header = string.Format("AppPool: {0}, Type: {1}", application.ApplicationPoolName, HoleApplikationstyp(serverManager, application)) };
                siteNode.Items.Add(appPoolNode);

                foreach (var virtDir in application.VirtualDirectories)
                {
                    appPoolNode.Items.Add(new TreeViewItem() { Header = string.Format("Dir: {0} [{1}]", virtDir.Path, virtDir.PhysicalPath) });
                }
            }
        }
    }
ServerManager对象已创建,但当我查看该对象时,我看到每个示例: ApplicationDefaults=“serverManager.ApplicationDefaults”引发了类型为“System.Runtime.InteropServices.COMException”的异常

当编译器想要启动带有ServerManager站点的foreach循环时

System.Runtime.InteropServices.COMException wurde nicht behandelt。 HResult=-2147221164 Message=mit CLSID{2B72133B-3F5B-4602-8952-803546CE3344}的Klassenfactory für de Klassen of Komponente mit CLSID{2B72133B-3F5B-4602-8952-803546CE3344}不符合要求的材料和材料:80040154 Klasse nicht registriert(ausname von HRESULT:0x80040154(REGDB_E_CLASSNOTREG))。 Source=mscorlib 错误代码=-2147221164 堆栈跟踪: bei System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType) bei System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(RuntimeType serverType) bei System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(RuntimeType服务器类型,对象[]道具,布尔bNewObj) bei System.RuntimeTypeHandle.CreateInstance(RuntimeType类型、Boolean publicOnly、Boolean noCheck、Boolean&canBeCached、RuntimeMethodHandleInternal&ctor、Boolean&bNeedSecurityCheck) bei System.RuntimeType.CreateInstanceSlow(布尔publicOnly、布尔skipCheckThis、布尔fillCache、StackScrawlMark和stackMark) bei System.RuntimeType.CreateInstanceDefaultCtor(布尔publicOnly、布尔skipCheckThis、布尔fillCache、StackScrawlMark和stackMark) bei System.Activator.CreateInstanceT bei Microsoft.Web.Administration.ConfigurationManager.CreateAdminManager[TClass,TInterface](WebConfigurationMap webConfigMap,布尔值isAdminConfig) bei Microsoft.Web.Administration.ConfigurationManager.CreateWritableAdminManager(WebConfiguration映射webConfigMap,字符串configPathToEdit,布尔值isAdminConfig) bei Microsoft.Web.Administration.ConfigurationManager.CreateConfiguration(WebConfigurationMap configMap,字符串configPathToEdit,布尔值isAdminConfig) bei Microsoft.Web.Administration.ConfigurationManager.GetConfiguration(字符串rawConfigurationPath、字符串cacheKey、布尔值isAdminConfig) bei Microsoft.Web.Administration.ConfigurationManager.GetApplicationHostConfiguration() bei Microsoft.Web.Administration.ServerManager.GetApplicationHostConfiguration() bei Microsoft.Web.Administration.ServerManager.get_SitesSection() bei Microsoft.Web.Administration.ServerManager.get_Sites()

有人知道怎么做吗

提前谢谢!
Patrick

确保您的计算机上安装了IIS管理脚本和工具(在“添加/删除程序->打开或关闭Windows功能”下)