将 Visual Studio 2008 与 IIS 7 配合使用

作者:Mike Volodarsky

介绍

Visual Studio® 提供了多种在开发网站和应用程序时使用 IIS 的选项。 其中包括 Web 应用程序和网站项目。 在 Visual Studio 2008 中,这些功能得到了用户期待已久的升级,可以在 Windows Vista® 和 Windows Server® 2008 中正确支持 IIS 7 及更高版本。 另外,最近发布的 Web Deployment Project 2008 也提供了对 IIS 7 及更高版本的支持。

本文概述了如何将 Visual Studio 2008 Web 开发功能与 IIS 配合使用,包括有关使这些功能正常工作所需的步骤的信息。

先决条件

若要使用 Visual Studio 2008 处理本地计算机上的网站和应用程序,请执行以下操作:

  1. 安装 IIS 7 或更高版本。

  2. 安装 ASP.NET。

  3. 安装 IIS 6.0 元数据库兼容性。

    在 Windows Vista 中,打开控制面板,单击“程序和功能”,单击“打开和关闭 Windows 功能”链接,选中“Internet Information Services”复选框,并选中其下方的“Web 管理工具” \ “IIS 6 管理兼容性” \ “IIS 元数据库”和“IIS 6 配置兼容性”以及“万维网服务” \ “应用程序开发功能” \ “ASP.NET”复选框

    Windows 功能与 Internet 信息服务、I S 元基础、I S 6 配置兼容性和 A S P 点 NET 突出显示的屏幕截图。

    在 Windows Server 2008 上,使用“服务器管理器”安装 Web 服务器 (IIS) 角色,并添加“管理工具”*“IIS 6 管理兼容性”**“IIS 6 元数据库兼容性”*和“应用程序开发”\ “ASP.NET”角色服务。 有关详细信息,请参阅在 Windows Server 2008 上安装 IIS

    若要使用 Visual Studio 2008 处理远程计算机上的网站和应用程序,请参阅本文稍后的“将 Visual Studio 2008 与远程 IIS 服务器配合使用”部分。

以管理员身份启动 Visual Studio 2008

某些任务(包括调试和创建本地 IIS 应用程序)要求以具有管理权限的用户身份启动 Visual Studio。 在 Windows Vista 和 Windows Server 2008 上,如果不以内置管理员帐户运行,则需要右键单击“开始”菜单中的 Visual Studio 2008 图标,然后选择“以管理员身份运行”

为了简化此过程,可以创建一个快捷方式,并选中快捷方式属性的“兼容性”选项卡上的“以管理员身份运行此程序”复选框

创建新的 IIS 网站或应用程序项目

Visual Studio 提供了两种使用 Web 应用程序的概念模型:网站项目模型和 Web 应用程序项目模型。

虽然这两个选项都允许创建 Web 应用程序并将其发布到 IIS 服务器,但它们在生成和部署相应 ASP.NET 应用程序的方式方面确实存在显著差异。 这两个模型之间的部分差异包括:

  • Web 应用程序项目选项要求源应用程序文件位于本地文件系统或网络共享上。 但是,以后可以使用网络共享、FTP 或 Front Page Server Extensions 将 Web 应用程序发布到远程 IIS 网站。
  • 网站项目选项允许直接连接到本地 IIS 网站,或使用网络共享、FTP 或 Front Page Server Extensions 连接到远程 IIS 网站。 通过网站项目,可以直接使用 IIS 网站的内容,并且没有项目文件。

可以在 https://msdn.microsoft.com/library/aa730880(VS.80).aspx 中找到这两个模型及其差异的详细解释。

注意

Visual Studio 2008 提供了创建新项目和打开现有项目的选项。 这并不一定意味着必须创建新的 IIS Web 应用程序项目或打开现有的应用程序项目 – 可将任一选项与现有的 IIS Web 应用程序一起使用。

若要使用 Web 应用程序项目选项创建新项目,请执行以下操作:

  1. 在 Visual Studio 中的“文件”菜单中,选择“新建项目”,然后选择“ASP.NET Web 应用程序”模板
  2. 单击“确定”。 Visual Studio 将打开 Default.aspx 页面的“源代码”视图,以便可以对其进行编辑

注意

与网站项目选项不同,必须将应用程序文件放置在本地文件系统或网络共享上,然后使用“发布”选项将应用程序的内容发布到 IIS 网站

若要将项目发布到 IIS 网站,请执行以下操作:

  1. 使用 IIS 管理器、AppCmd 或其他配置工具创建 IIS 网站。 有关详细信息,请参阅 https://technet.microsoft.com/library/cc772350(v=ws.10).aspx。 或者,使用现有的 IIS 网站。

  2. 在 Visual Studio 中,使用“生成 \ 发布”选项将 Web 应用程序的内容发布到 IIS 网站
    “发布 Web”对话框的屏幕截图,其中显示了“目标位置”字段。已选择“应用短划线数据”文件夹中的“包含文件”选项。

    注意

    默认情况下,“发布 Web”对话框仅发布项目中构成 Web 应用程序的部分 - 它不会发布项目文件、对象目录和其他文件。 这一点非常重要,因为将这些组件暴露给 Web 用户可能会带来安全风险。

    单击“...”按钮可以选择以下四个选项之一来发布网站:

    • 文件系统。 使用此选项时,Visual Studio 会将 Web 应用程序打开/创建为文件夹,并使用内置的 ASP.NET 开发服务器来托管网站。 该选项对于 ASP.NET 应用程序的基本测试可能足够了 - 但是,该模式不支持在集成模式下运行 ASP.NET 应用程序,并且不支持 ASP.NET 以外的应用程序技术(例如 PHP、ASP、CGI 等)。
    • 本地 IIS。 使用此选项时,Visual Studio 允许将应用程序文件发布到本地 IIS 网站或应用程序。 还可以使用该对话框创建新的 IIS 应用程序或虚拟目录以将文件发布到其中。
    • FTP 站点。 使用此选项时,Visual Studio 支持编辑通过 FTP 共享的应用程序文件。 你仍可以使用 Visual Studio 通过在项目启动设置中配置应用程序的 URL 来调试应用程序。 有关详细信息,请参阅本文稍后的“将 Visual Studio 2008 与远程 IIS 服务器配合使用”部分。
    • 远程站点。 Visual Studio 可以使用此选项连接到远程 IIS 服务器。 若要使用此选项,需要在远程服务器上安装 Front Page Server Extensions 并将网站配置为使用 FPSE。 有关详细信息,请参阅本文稍后的“将 Visual Studio 2008 与远程 IIS 服务器配合使用”部分。
  3. 选择“本地 IIS”。 还可以将 Web 应用程序项目目录映射为本地 IIS 安装上的虚拟目录,方法是打开项目“属性”,单击“Web”选项卡,然后单击“创建虚拟目录”按钮。 可以使用“创建虚拟目录”选项作为在 IIS 上本地托管 Web 应用程序的快速方法,而无需执行“发布 Web”选项的操作。 但是,通常不建议使用此选项,因为它会将所有项目文件、源文件、目标文件和其他临时文件放置在 IIS 虚拟目录的可服务命名空间中,这可能会导致安全风险。 更好的做法是使用“发布”选项,默认情况下该选项仅发布项目的 Web 可服务部分

  4. 配置调试。 默认情况下,使用 Web 应用程序项目模型创建的项目在测试或调试项目时使用内置的 ASP.NET 开发服务器(“Cassini”)。 这提供了一种无需 IIS 即可测试 ASP.NET 应用程序的便捷方法 - 但是,我们建议将 Visual Studio 配置为使用 IIS 环境来测试应用程序。 这样做的原因是:

    • ASP.NET 开发服务器不支持在集成模式下托管 ASP.NET 应用程序,这是 IIS 使用的默认操作模式。 这可能会带来应用程序行为差异。
    • ASP.NET 开发服务器不支持许多 IIS 配置功能,因此,如果应用程序依赖或使用它们,则在 ASP.NET 开发服务器下托管时,其行为可能会有所不同或不正确。
    • ASP.NET 开发服务器不支持托管应用程序中使用 ASP.NET 以外的应用程序技术的部分,例如 PHP、CGI 和其他第三方框架。

如果在 Windows Vista 上进行开发,你可以轻松利用 IIS 在本地测试应用程序,方法是使用与部署应用程序时所处的环境相同的环境 - 使用“创建虚拟目录”选项或本文前面所述的“发布 Web”对话框

或者,可以将 Visual Studio 配置为连接到发布应用程序的远程 IIS 服务器。

在这种情况下,可以配置 Visual Studio 以在 IIS 环境中调试应用程序。 为此,请右键单击项目节点,选择“属性”,然后单击“Web”选项卡。在“Web”选项卡中,选择“使用本地 IIS Web 服务器”选项。 Web 应用程序的基本 URL 应会自动填充。

项目节点的屏幕截图,其中展开了 Web 选项卡,其中已选中“使用 I I S Web 服务器”选项,而你在“项目”中输入了 l 个地址。

有关配置远程调试的详细信息,请参阅本文稍后的“调试 IIS Web 应用程序”。

若要使用网站项目选项创建新项目,请执行以下操作:

  1. 使用 IIS 管理器、AppCmd 或其他配置工具创建 IIS 网站。 有关详细信息,请参阅 https://technet.microsoft.com/library/cc772350(v=ws.10).aspx。 或者,使用现有的 IIS 网站。

  2. 在 Visual Studio 中的“文件”菜单中,选择“新建网站”以使用创建的 IIS 网站创建新的网站项目

  3. 在“新建网站”对话框中,选择 Visual Studio 网站模板之一,例如“ASP.NET 网站”

  4. 接下来,指明此网站应位于何处。 为此,请单击“浏览”按钮,随即会显示“选择位置”对话框,类似于发布 Web 应用程序项目时所看到的。 在此处,再次单击“本地 IIS”按钮以选择本地计算机上的现有网站或应用程序,或者创建新的 Web 应用程序或虚拟目录来托管项目文件

  5. 单击“确定”。 Visual Studio 将打开 Default.aspx 页面的“源代码”视图,以便可以对其进行编辑

    或者,可以选择将新网站项目放置在本地文件系统上以便与 ASP.NET 开发服务器一起使用,使用 FTP 将其上传到远程服务器,或使用 Front Page Extensions 将其上传到远程 IIS 服务器。 有关连接到远程服务器的详细信息,请参阅本文稍后的“将 Visual Studio 2008 与远程 IIS 服务器配合使用”部分。

打开现有 IIS 网站或应用程序

若要创建基于现有 IIS 网站的项目,请执行以下操作:

  1. 若要打开现有 IIS 网站,请在 Visual Studio 的“文件”菜单中选择“打开网站”

  2. 单击“本地 IIS”选择本地 IIS 服务器

    在出现的对话框中,可以选择要打开的网站或子应用程序。 或者,可以使用对话框右上角的“创建新的 Web 应用程序”、“创建新的虚拟目录”和“删除”按钮来管理网站层次结构

    注意

    在进行更改之前,请务必先备份配置。

    “本地 Internet 信息服务器”对话框的屏幕截图,其中显示了“本地 Web 服务器”窗格,其中选择了“默认网站”。

  3. 单击“打开”。

    如果未安装 IIS 或任何必备组件,当你尝试连接到本地 IIS 服务器时,Visual Studio 2008 会显示一条消息,让你安装必需的组件。 为此,请参阅本文前面的“先决条件”部分。

    “本地 Internet 信息服务器”对话框的屏幕截图,其中显示了一条消息,告知你安装所需的组件。

    注意

    除了连接到现有 IIS 网站之外,Visual Studio 还提供了多个不同的选项来使用现有网站。 这些选项包括:

    • 文件系统。 使用此选项时,Visual Studio 会将 Web 应用程序打开或创建为文件夹,并使用内置的 ASP.NET 开发服务器来托管网站。 可以使用此选项通过打开本地文件系统上虚拟目录的根文件夹或通过网络共享来连接到现有 IIS 网站。
    • FTP 站点。 使用此选项时,Visual Studio 支持编辑通过 FTP 共享的应用程序文件。 有关详细信息,请参阅本文稍后的“将 Visual Studio 2008 与远程 IIS 服务器配合使用”部分。
    • 远程站点。 Visual Studio 可以使用此选项连接到远程 IIS 服务器。 若要使用此选项,需要在远程服务器上安装 Front Page Server Extensions 并将网站配置为使用 FPSE。 有关详细信息,请参阅本文稍后的“将 Visual Studio 2008 与远程 IIS 服务器配合使用”部分。
  4. 配置调试。

    如果使用“本地 IIS”或“远程站点”选项打开了现有 IIS 网站,则调试时项目会自动配置为使用 IIS 网站,因此无需执行进一步操作(“远程站点”选项需要额外的配置才能启用远程调试,如本文稍后所述)

    如果使用“文件系统”或“FTP”站点选项打开了网站项目,则默认情况下会将其配置为使用 ASP.NET 开发服务器进行测试和调试。 建议将 Visual Studio 配置为使用网站所在的 IIS 服务器进行调试。

    为此,请右键单击 Visual Studio 中的网站项目节点,然后选择“启动选项”。 在对话框中,选择“使用自定义服务器”选项,然后输入远程服务器上 Web 应用程序的基 URL

    “开始选项”对话框的屏幕截图,其中显示了“使用服务器”部分中的“使用自定义服务器”选项。

将 Visual Studio 2008 与远程 IIS 服务器配合使用

若要在远程 IIS 服务器上打开现有网站或创建新网站,可以使用前面所述的许多选项:

  • 文件系统。 可以创建一个指向 Web 应用程序根虚拟目录的文件共享,并使用“文件系统”选项连接到该共享。 若要使用此选项,请选择“打开网站”对话框中的“文件系统”按钮。 然后,必须在项目启动设置中配置应用程序的 URL,这样才能使用 Visual Studio 调试应用程序。 不能使用此选项在远程计算机上创建新的 IIS 网站、应用程序或虚拟目录。
  • FTP 站点。 如果网站或应用程序文件是使用 FTP 共享的,则可以使用此选项访问这些文件。 然后,必须在项目启动设置中配置应用程序的 URL,这样才能使用 Visual Studio 调试应用程序。 若要使用此选项,请选择“打开网站”对话框中的“FTP 站点”按钮。 不能使用此选项在远程计算机上创建新的 IIS 网站、应用程序或虚拟目录。
  • 远程站点。 此选项使用 Front Page Server Extensions 连接到远程 IIS 服务器。 若要使用此选项连接到 Windows Server 2008 或 Windows Vista 计算机上的远程 IIS 服务器,首先需要在远程计算机上安装 Front Page Server Extensions。

使用 FTP 连接到 IIS 网站

如果已使用 FTP 共享要发布到的 IIS 虚拟目录,则可以使用“FTP 站点”选项。

注意

使用 FTP 时,无法创建或编辑 IIS 网站、应用程序或虚拟目录,但可以发布和编辑文件。

若要使用此选项,请提供 FTP 服务器的地址、端口、要连接的目录以及登录凭据(如果不使用匿名访问)。

F T P 站点对话框的屏幕截图,其中显示了服务器、端口、目录和登录凭据的字段。

有关使用 Windows Vista 和 Windows Server 2008 中包含的 FTP 服务器的详细信息,请参阅 FTP 站点设置 (IIS 6.0)。 若要使用新的 FTP 7(可从 IIS.NET 下载),请参阅向网站添加 FTP。 如果使用的是 Windows Server 2008 R2,则已包含新版本的 FTP (FTP 7.5)。

使用 Front Page Server Extensions 连接到 IIS 网站

如果已共享要使用 Front Page Server Extensions 发布到的 IIS 网站,则可以使用“远程站点”选项。 与“FTP 站点”选项不同,使用此选项时可以创建和编辑 IIS 应用程序和虚拟目录。

可免费下载适用于 Windows Vista 和 Windows Server 2008 的 Front Page Server Extensions for IIS 7。 有关安装和启用适用于 IIS 网站的 Front Page Server Extensions 的详细信息,请参阅安装 Front Page Server Extensions for IIS

若要快速启用远程网站以便与 Visual Studio 中的“远程站点”选项一起使用,请执行以下操作:

  1. 在远程 IIS 服务器上下载并安装 FPSE。 提供的安装程序会自动安装所有必需的 IIS 组件。

  2. 创建要连接的 IIS 网站(可选,如果该网站尚不存在)。

  3. 为网站启用基本身份验证或 Windows 身份验证方法。 只有这样,FPSE 才能管理站点。

    注意

    如果使用基本身份验证,则用户名和密码将以明文形式传输,因此请不要使用基本身份验证通过公用网络连接到网站,除非另外还使用 SSL 来保护通信。

  4. 启用要使用 FPSE 管理的网站。 为此,可以从命令行执行以下命令:

    > "%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\50\bin\owsadm.exe" -o install -p LM/W3SVC/<SITEID> -u <USERNAME>
    

    其中,<SITEID> 是要启用 FPSE 的网站的网站 ID,<USERNAME> 是可以充当 FPSE 管理员的 Windows 帐户。

  5. 使用“打开网站”对话框或“新建站点”对话框中的“远程站点”选项连接到站点。 这样,便可以连接到现有的已启用 Front Page Server Extensions 的网站,或创建新的 Web 应用程序和虚拟目录。

    “远程网站”对话框的屏幕截图,其中显示了网站位置和“新建网站”按钮的字段。

    如果在连接过程中出现以下错误对话框,请仔细检查是否已在远程服务器上安装 FPSE,并且已为尝试连接的网站启用 FPSE 管理。

    Microsoft Visual Studio 中错误对话框的屏幕截图。该消息显示 Web 服务器似乎未安装 Front Page 服务器扩展。

    如果对已启用 FPSE 的网站使用 Windows 身份验证,Visual Studio 会尝试使用启动该网站的帐户进行身份验证。 如果这种身份验证失败,它会提示你提供用于对远程服务器进行身份验证的凭据。

    如果使用基本身份验证,Visual Studio 会立即提示你输入凭据。

    注意

    基本身份验证以明文形式发送凭据,因此如果站点未受 SSL 保护,可能会导致用户名和密码意外泄露。 因此,我们建议对 Intranet 环境使用 Windows 身份验证,对 Internet 环境使用基于 SSL 的基本身份验证

    如果尚未启用适当的身份验证方法(Windows 身份验证、基本身份验证或摘要式身份验证),在连接时你将收到以下错误对话框。 若要解决此问题,请启用上述身份验证方法之一。

    显示 Web 服务器未启用任何身份验证方法的错误对话框屏幕截图。

    注意

    “远程站点”对话框中的“新建网站...”按钮不可用于创建新的 IIS 网站。 它用于为现有已启用 Front Page Server Extensions 的 IIS 网站创建具有指定路径的新 Web 应用程序。

调试 IIS Web 应用程序

在 Visual Studio 中打开网站或应用程序后,可以利用 Visual Studio 调试功能对其进行测试。 执行此操作时,可以使用以下选项:

  • 在 Visual Studio 中使用 F5 调试进行调试。 如果使用前面所述的选项之一打开了 IIS 网站项目,这会为你提供调试 Web 应用程序的最便捷方法。 只需按 F5 即可对其进行调试,然后使用浏览器窗口与应用程序交互。 本文的其余部分将重点讨论此选项。
  • 直接附加到 IIS 工作进程。 如果知道哪个 IIS 工作进程正在托管应用程序,则可以使用此选项直接附加到该进程。

在 Visual Studio 中使用 F5 调试本地 IIS Web 应用程序

F5 调试提供了使用 Visual Studio 调试 Web 应用程序的最便捷方法。 若要使用此功能,请执行以下操作:

  1. 使用前面所述的选项之一打开 IIS 网站。
  2. 选择要向其发出初始请求的项目文件(可选)。
  3. 在应用程序源代码中设置所需的断点(可选,也可以在调试期间设置断点)。
  4. 按 F5 开始调试。 Visual Studio 会向 IIS Web 应用程序发出初始请求,附加到托管 IIS 工作进程,并打开一个新的浏览器窗口,你可以在其中与应用程序交互。

若要成功调试本地 IIS Web 应用程序,必须满足以下要求:

  1. 以在本地计算机上具有管理权限的用户身份登录(内置管理员帐户或内置管理员组成员的帐户)。

  2. 右键单击“开始”菜单中的 Visual Studio 2008 图标并选择“以管理员身份运行”,以管理员模式启动 Visual Studio

    如果不执行此操作,Visual Studio 会收到经过筛选的 UAC 令牌,并且无法进行调试。

    如果使用“文件系统”选项打开 ASP.NET 应用程序,则 Visual Studio 默认会启动 ASP.NET 开发服务器来托管应用程序。 此选项不涉及 IIS,并且无需是管理员即可调试应用程序。 但是,在使用 ASP.NET 开发服务器时,无法获得 IIS 环境提供的全部功能和服务,这可能会导致应用程序的行为与部署在 IIS 上时不同。 这包括:

    • 不支持 ASP.NET 集成模式。
    • 不支持 IIS 功能,例如压缩、原生 URL 身份验证、请求筛选等。
    • 不支持 ASP.NET 以外的应用程序技术,例如 PHP、ASP、CGI 等。

在 Visual Studio 中使用 F5 调试远程 IIS Web 应用程序

可以使用 F5 调试远程服务器上运行的 IIS Web 应用程序。 该过程类似于前面所述的调试本地 IIS 应用程序的过程,但需要额外的配置才能进行远程调试。

首先,必须使用“文件系统”、“FTP 站点”或“远程站点”选项打开远程 IIS 网站或应用程序项目,如本文前面的“将 Visual Studio 2008 与远程 IIS 服务器配合使用”部分中所述

若要成功调试远程应用程序,还必须满足以下要求:

  1. 在服务器计算机上安装远程调试组件。 有关详细信息,请参阅如何:设置远程调试

  2. 在服务器计算机上运行远程调试监视器 (msvsmon.exe)。 请参阅有关如何正确执行此操作的其他说明。

  3. 打开远程调试所需的防火墙端口。

    首次在远程计算机上运行 msvsmon.exe 时,如果这些端口未打开,系统会发出警告,并建议自动打开它们。 如果你要手动配置防火墙或查看打开了哪些端口,请参阅如何:手动配置 Windows Vista 防火墙以进行远程调试

  4. 如果你正在使用 Web 应用程序项目并发布到远程 IIS 服务器,或者已使用“文件系统”或“FTP 站点”选项打开远程网站项目,则必须配置 Visual Studio 项目启动选项以启用调试。 若要对网站项目执行此操作,请右键单击网站项目节点,然后选择“启动选项”。 在对话框中,选择“使用自定义服务器”选项,然后输入远程服务器上 Web 应用程序的基 URL

    对于 Web 应用程序项目,请右键单击项目节点,选择“属性”,然后单击“Web”选项卡。在“Web”选项卡中,选择“使用 IIS Web 服务器”选项,然后输入远程服务器上 Web 应用程序的基 URL

    本文前面详细介绍了此过程。

  5. 配置权限以允许进行调试。 请参阅有关如何正确执行此操作的其他说明。

如何运行远程调试监视器 (msvsmon.exe) 和配置权限取决于你是在域环境还是在工作组环境中操作。

在工作组环境中设置远程调试

  1. 在 Visual Studio 2008 客户端计算机和远程服务器计算机上创建具有相同用户名和密码的帐户。 此帐户必须具有远程服务器计算机的管理权限。

    注意

    如果在应用程序中使用 Windows 身份验证,则此帐户必须是内置管理员帐户。 这意味着两台计算机上的内置管理员帐户必须具有相同的密码。

  2. 使用在步骤 1 中创建的帐户登录到远程服务器计算机,然后从“开始”菜单运行 Visual Studio 2008 远程调试器,方法是右键单击它并选择“以管理员身份运行”。 此操作非常重要,否则远程调试监视器会收到经过 UAC 筛选的令牌,并且无法调试 IIS 工作进程。

    注意

    请不要使用 RunAs.exe 命令运行 msvsmon.exe 进程,因为这始终会生成经过 UAC 筛选的令牌并阻止调试正常运行

    还可以选择通过从“开始”菜单打开“Visual Studio 2008 远程调试器配置向导”,将远程调试监视器作为服务运行。 (选择“开始”>“所有程序”>“Microsoft Visual Studio 2008”,然后在“Visual Studio Tools”文件夹中找到它)。 如果使用此选项,则必须将远程调试监视器配置为使用步骤 1 中创建的帐户登录。 然后,还必须在计算机的本地安全策略控制台中向相应的帐户授予“作为服务登录”权限。

  3. 使用步骤 #1 中创建的帐户登录到 Visual Studio 2008 客户端计算机。 右键单击“开始”菜单中的 Visual Studio 2008 图标,然后选择“以管理员身份运行”,即可运行 Visual Studio 2008

    注意

    使用在步骤 1 中创建的帐户登录并在运行 Visual Studio 时使用“以管理员身份运行”选项非常重要。 如步骤 1 中所述,使用的帐户必须是远程服务器计算机上的管理用户。

  4. 使用“文件系统”、“FTP 站点”或“远程站点”选项打开远程 IIS 网站

如果在 IIS 网站中使用 Windows 身份验证,则必须使用内置管理员帐户运行 Visual Studio 2008,因此还必须使用内置管理员帐户在远程计算机上运行远程调试监视器。 客户端和远程服务器计算机上的管理员帐户密码必须相同。

此外,还可以执行以下操作:

  • 使用“FTP 站点”选项连接到远程 IIS 网站,并使用匿名身份验证。 然后,无需使用内置管理员帐户,只要使用的帐户是远程服务器计算机上的管理用户即可。
  • 使用“远程站点”选项连接到远程 IIS 网站,并使用基本或摘要式身份验证。 然后,无需使用内置管理员帐户,只要使用的帐户是远程服务器计算机上的管理用户即可。

如果需要在 IIS 网站中使用 Windows 身份验证,并且无法使用同步的管理员帐户,则必须在尝试调试之前关闭远程服务器计算机上的 UAC 并重启。 不建议对生产服务器这样做,因为这可能会对服务器的安全性产生负面影响。

在域环境中设置远程调试

域环境中的调试配置更简单。 若要在域环境中进行调试,必须:

  1. 将用于运行 Visual Studio 2008 的域帐户设置为远程服务器计算机上管理员组的成员。

  2. 使用域帐户登录到远程服务器计算机,然后使用“以管理员身份运行”选项运行远程调试监视器 (msvsmon.exe)

    还可以选择将远程调试监视器作为服务运行,方法是右键单击“开始”菜单中的“Visual Studio 2008 远程调试器配置向导”,然后选择“以管理员身份运行”。 可以让远程调试监视服务作为 LocalSystem 运行。

  3. 使用域帐户登录到 Visual Studio 2008 客户端计算机。 右键单击“开始”菜单中的 Visual Studio 2008 图标,然后选择“以管理员身份运行”,即可运行 Visual Studio 2008

  4. 使用“FTP 站点”或“远程站点”选项打开远程 IIS 网站

总结

本文提供了有关使用 Visual Studio 2008 处理本地和远程计算机上的 IIS 网站,以及如何调试 IIS 中托管的 Web 应用程序的信息。