学习 Web Forms
  • 爱学习公众号

    关注爱学习公众号

  • 扫码手机阅读更方便

推荐阅读
  • 自定义数据修改界面 (C#)

    在本教程中,我们将介绍如何通过将 "标准" 文本框和复选框控件替换为备用输入 Web 控件来自定义可编辑 GridView 的界面。

  • Tailspin Spyworks - 实现和使用“同时购买的”控件

    本文内容 作者: Joe StagnerJoe Stagner 实现并使用 Tailspin Spyworks 示例 Web 窗体应用程序中的 "也购买的" 控件。▶观看视频(30分钟)上一页下一页

  • 以编程方式设置 ObjectDataSource 的参数值 (VB)

    在本教程中,我们将介绍如何将方法添加到可接受单个输入参数并返回数据的 DAL 和 BLL。 该示例将以编程方式设置此参数。

  • Visual Studio 2008 对 ASP.NET AJAX 的支持

    本文内容 作者: Joe Stagner你将快速了解如何将 ASP.NET AJAX 包含到 Visual Studio 2008 (Orcas)和 .NET 3.5。 这将通过使用 Visual Studio 2008 和构建网站应用程序进行演示。▶观看视

  • ASP.NET 4.5 Web 窗体模型绑定

    本文内容 作者: Scott Hanselman▶观看视频(7分钟)上一页下一页

  • ASP.NET AJAX:关于 ASP.NET AJAX 的演示

    本文内容 作者: Joe Stagner了解如何使用 ASP.NET 2.0 从头开始生成 "待办事项列表" 管理应用程序,然后使用 ASP.NET AJAX 扩展增强用户体验。▶观看视频(20分钟)上一页下一页

  • 从 GridView 页脚插入新记录 (C#)

    尽管 GridView 控件不提供用于插入新数据记录的内置支持,但本教程介绍了如何增加 GridView 以包含插入接口。

  • 删除时添加客户端确认 (C#)

    到目前为止创建的接口中,用户在要单击 "编辑" 按钮时,可以通过单击 "删除" 按钮来意外删除数据。 在本教程中,我们将添加一个在单击 "删除" 按钮时显示的客户端确认对话框。

  • 针对成员身份用户存储验证用户凭据 (C#)

    在本教程中,我们将介绍如何使用编程方式和登录控件验证用户凭据与成员资格用户存储。 我们还将介绍如何自定义登录控件的外观和行为。

  • 在 ASP.NET 中创建和使用应用程序级别的事件

    本文内容 作者: Chris 像素在此视频中,Chris 像素将演示如何创建一个应用程序类文件(global.asax),该文件包含应用程序级别事件处理程序,如应用程序_启动和应用程序_BeginRequest。 然后,将在应用程序生命周期中讨论应用程序级别事

创建并运行部署命令文件

作者: Jason

下载 PDF

本主题介绍如何生成一个命令文件,该文件将允许使用 Microsoft 生成引擎(MSBuild)项目文件作为单步骤、可重复的过程运行部署。

本主题介绍一系列教程的一部分,这些教程基于名为 Fabrikam,Inc. 的虚构公司的企业部署要求。本教程系列使用一个示例解决方案—,该解决方案使用—联系人管理器解决方案来表示具有真实复杂性级别的 WEB 应用程序,包括 ASP.NET MVC 3 应用程序、Windows Communication Foundation (WCF)服务和数据库项目。

这些教程核心的部署方法基于理解生成过程中所述的拆分项目文件方法,其中,生成过程由两个项目文件—控制,其中一个包含适用于每个目标环境的生成说明,另一个包含特定于环境的生成和部署设置。 在生成时,特定于环境的项目文件将合并到环境无关的项目文件中,以形成一组完整的生成说明。

流程概述

在本主题中,你将了解如何创建并运行一个命令文件,该文件使用这些项目文件来执行目标环境的可重复部署。 实质上,命令文件只需包含以下 MSBuild 命令:

  • 指示 MSBuild 执行环境无关的Publish文件。
  • 指示Publish文件,其中包含特定于环境的项目设置以及在何处可以找到它。

创建 MSBuild 命令

了解生成过程中所述,环境特定的项目文件(例如,环境—特定的项目文件—)设计为在生成时导入到与环境无关的Publish文件中。 这两个文件一起提供了一组完整的说明,告诉 MSBuild 如何生成和部署解决方案。

Publish文件使用import元素导入特定于环境的项目文件。

<Import Project="$(TargetEnvPropsFile)"/>

因此,当你使用 Msbuild.exe 生成并部署 Contact Manager 解决方案时,你需要:

  • Publish文件上运行 msbuild.exe。
  • 通过提供名为TargetEnvPropsFile的命令行参数来指定环境特定的项目文件的位置。

为此,MSBuild 命令应如下所示:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj

从这里开始,这是一个简单的步骤,可以将其迁移到可重复的单步部署。 只需将 MSBuild 命令添加到 .cmd 文件即可。 在 "联系人管理器" 解决方案中,"发布" 文件夹包含一个名为 "Publish-Dev" 的文件,该文件执行此命令

%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe Publish.proj /fl /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj
echo 
pause

Note

/Fl开关指示 msbuild 在调用 msbuild.exe 的工作目录中创建一个名为msbuild.exe的日志文件。

若要部署或重新部署 Contact Manager 解决方案,只需运行Publish-Dev文件。 运行该文件时,MSBuild 将:

  • 生成解决方案中的所有项目。
  • 为 web 应用程序项目生成可部署的 web 包。
  • 为数据库项目生成 .dbschema 和 deploymanifest 文件。
  • 将 web 包部署到 web 服务器。
  • 将数据库部署到数据库服务器。

运行部署

为目标环境创建了命令文件后,只需运行该文件就能完成整个部署。

将 Contact Manager 解决方案部署到测试环境

  1. 在开发人员工作站上,打开 Windows 资源管理器,然后浏览到Publish-Dev文件的位置。

  2. 双击该文件以运行该文件。

  3. 如果出现 "打开文件–安全警告" 对话框,请单击 "运行"。

  4. 如果正确设置了配置设置和测试服务器,则 "命令提示符" 窗口将在 MSBuild 完成项目文件处理后显示 "生成成功" 消息。

  5. 如果这是你第一次将解决方案部署到此环境中,则需要将测试 web 服务器计算机帐户添加到ContactManager数据库上db_datawriterdb_datareader角色。 Web 部署发布配置数据库服务器中介绍了此过程。

    Note

    仅需在创建数据库时分配这些权限。 默认情况下,生成过程将不会在每次部署—时重新创建数据库,而是将现有数据库与最新架构进行比较,并仅进行所需的更改。 因此,在首次部署解决方案时,只需映射这些数据库角色。

  6. 打开 Internet Explorer 并浏览到联系人管理器应用程序的 URL (例如 http://testweb1:85/ContactManager/)。

  7. 验证应用程序是否按预期工作,以及是否能够添加联系人。

结束语

通过创建包含 MSBuild 说明的命令文件,可以快速轻松地构建多项目解决方案并将其部署到特定目标环境。 如果需要反复将解决方案部署到多个目标环境,可以创建多个命令文件。 在每个命令文件中,MSBuild 命令将生成相同的通用项目文件,但它会指定其他特定于环境的项目文件。 例如,要发布到开发人员或测试环境的命令文件可能包含以下 MSBuild 命令:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj

要发布到过渡环境的命令文件可能包含以下 MSBuild 命令:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Stage.proj

Note

有关如何为自己的服务器环境自定义特定于环境的项目文件的指南,请参阅配置目标环境的部署属性

还可以通过在 MSBuild 命令中重写属性或设置各种其他开关,为每个环境自定义生成过程。 有关详细信息,请参阅MSBuild 命令行参考

关于我们 免责声明 联系我们
Copyright © 2021 爱学习网 浙ICP备18049359号 网站地图 Google地图