C# IIS 以编程方式创建站点缺少方法

标签 c# iis automation

我编写了一个小工具,可以在 Windows 服务器上安装 Web 应用程序和所有需要的软件包。该工具创建应用程序池和所需的应用程序。在我的开发机器上,一切正常,但在测试服务器上(使用 iis 进行新的 w2k8r2 安装),该工具崩溃,并出现以下异常:

System.MissingMethodException: Method not found: 'Void Microsoft.Web.Administration.ApplocationPool.set_Startmode(Microsoft.Web.Administration.Startmode)'

这是我用来创建应用程序池的代码:

using (ServerManager serverManager = new ServerManager())
{
    try
    {
        if (!serverManager.ApplicationPools.Any(x => x.Name == appPoolName))
        {
            ApplicationPool appPool = serverManager.ApplicationPools.Add(appPoolName);
            appPool.ManagedRuntimeVersion = "v4.0";
            appPool.StartMode = StartMode.AlwaysRunning;
            appPool.ProcessModel.IdentityType = ProcessModelIdentityType.LocalSystem;

            serverManager.CommitChanges();
        }

        result = true;
    }
    catch (Exception e)
    {
        Console.WriteLine(e);
    }
}

我已经使用服务器管理器安装了 IIS 管理工具和脚本。我是否缺少包裹或者我的代码错误?

更新:

正如 PhillipH 在他的回答中所写,IIS 7.5 不支持属性 StartMode

最佳答案

我只能建议您的开发计算机没有运行 IIS7.5,因为 7.5 是安装在 Server 2008 上的 IIS。ApplicationPool.StartMode 被列为 IIS8 的新功能。

“IIS8 中的新增功能” https://blogs.msdn.microsoft.com/vijaysk/2012/10/09/iis-8-whats-new-application-pool-settings/

关于C# IIS 以编程方式创建站点缺少方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35557538/

相关文章:

c# - 当我将代码从 IEnumerable 更改为 List 时,为什么它可以工作?

css - IIS 上的网站与 Apache 上的网站不同

node.js - 从nodeJS自动输入到终端?

java - 如何使用 Selenium 在网站上查找带有框架的元素?

go - 中午在Golang跑代码

c# - Selenium WebDriver 测试登录验证/身份验证

c# - C# 中是否有用于 MVC Controller 的 nameof() 运算符?

.net - 更新到 .net 4.0 后 wcf 回调异常

asp.net - IIS 配置 - ASP.NET MVC 返回所有请求的默认文档

c# - 如何从c#中的html代码中获取html代码的一部分?