导出 (0) 打印
全部展开

Azure Tools for Microsoft Visual Studio 入门

更新时间: 2014年3月

注:本页面内容可能不完全适用中国大陆地区运营的 Windows Azure服务。如要了解不同地区 Windows Azure 服务的差异, 请参考本网站.

通过完成本演练,你可以了解如何借助 Windows Azure Tools for Visual Studio 来提高开发 Windows Azure 应用程序时的工作效率。在将应用程序发布到 Windows Azure 之前,可使用这些工具在本地运行和调试应用程序。可使用以下程序来完成这些任务:

Warning警告
Windows Azure Tools 适用于多个 Visual Studio 版本。本演练显示其中一个 Visual Studio 版本中的 UI。根据你所用的 Visual Studio 和 Windows Azure Tools 版本,你可能会发现,其中的 UI 与本主题中的图示稍有不同

安装 Windows Azure Tools for Visual Studio

本过程假定尚未安装 Windows Azure Tools。如果已安装 Windows Azure Tools,请从有关如何创建 Windows Azure 应用程序的下一个过程开始。

安装 Windows Azure Tools

  1. 若要安装 Windows Azure Tools,请在菜单栏中选择“文件”>“新建”>“项目”。在“已安装的模板”中,选择 Visual Basic 或 Visual C# 节点,然后选择包含名为“获取适用于 .NET 的 Windows Azure SDK”的项目模板的“云”节点。

    note注意
    仅当以前未在此计算机上安装 Windows Azure Tools 时,此模板才显示在列表中。

    VST_QL_InstallTools
  2. 若要下载工具,请选择“确定”按钮。

    此时将显示“Windows Azure Tools”选项卡。

  3. 若要开始下载,请选择“下载 Windows Azure Tools”按钮。现在显示 Web 安装程序。按照 Web 安装程序提供的说明安装最新版本的 Windows Azure Tools 和 Windows Azure SDK。

    note注意
    Windows Azure Tools 需要 Internet 信息服务 (IIS) 版本 7、7.5、8 或 Express。若要安装 IIS 或 IIS Express,请使用 Microsoft Web 平台安装程序

Important重要提示
若要更新模板以显示“Windows Azure 项目”模板,可能需要先重新启动 Visual Studio,然后才能继续执行以下过程中的步骤。

创建 Windows Azure 应用程序

Windows Azure 应用程序包括执行应用程序所需操作的角色。将应用程序发布到 Windows Azure 时,每个角色在云中的虚拟机上运行。有关如何开发 Windows Azure 应用程序的详细信息,请参阅Planning and Designing Applications for Windows AzureDeveloping Applications for Windows Azure

创建 Windows Azure 应用程序

  1. 以管理员身份启动 Visual Studio。

  2. 若要创建 Windows Azure 项目,请从菜单栏中选择“文件”>“新建”>“项目”

  3. “已安装的模板”中显示的 C# 和 VB 项目模板上,请选择更新的“云”模板类型。选择“Windows Azure 项目”。在 .NET Framework 列表中,请选择想要使用的目标框架。

    创建新项目
    note注意
    Visual Studio 2012 和 Visual Studio 2013 支持 .NET Framework 4.5 和 .NET Framework 4。

  4. “名称”文本框中,输入项目名称,然后选择“确定”按钮。

    此时将显示“新建 Windows Azure 项目”对话框。

    创建新的 Windows Azure 项目。
  5. 若要将 Web 角色添加到解决方案,请选择 ASP.NET Web 角色,然后选择右箭头。可将多个 Web 角色和辅助角色添加到 Windows Azure 解决方案。

    角色将显示在对话框的“Windows Azure 解决方案”窗格中。

  6. 若要将 WebRole1 重命名为 MyWebRole,请将指针移至 WebRole1 并选择右侧的铅笔图标。键入新的名称,然后选择“输入”按钮。(键盘操作:按 Tab 将焦点移到“WebRole1”,然后按 F2 进行编辑。)

  7. 选择“确定”按钮。此时将出现“新建 ASP.NET 项目”对话框。选择“Web 窗体”

    选择 Web 窗体。
  8. 若要创建新的 Windows Azure 项目,请选择“确定”按钮。

    现在,你有一个具有以下两个项目的解决方案:

    • Windows Azure 项目

    • ASP.NET Web 应用程序的 Web 角色

    解决方案资源管理器将类似于下图:

    VST_QL_SolutionExplorer

向 Web 角色项目中添加代码

以下过程将代码添加到 Web 角色项目:此 Web 项目将数据添加到 blob 存储并写入诊断消息以帮助你调试应用程序。然后,可以在将此代码发布到 Windows Azure 之前在本地运行此代码。

将代码添加到 Web 角色项目

  1. 若要打开设计视图中的 default.aspx,请打开 default.aspx 文件的快捷菜单,然后选择“视图设计器”

  2. 若要打开工具箱中,请选择工具箱图标。若要将按钮添加到页面,请打开“工具箱”视图中的“按钮”的快捷菜单并选择“复制”。在“Default.aspx”的编辑窗口中,请选择“设计”,然后打开快捷菜单择并选择“粘贴”。若要为按钮添加单击事件处理程序,请双击添加到页面的新按钮。

    VST_QL_DefaultPage
  3. 在名为 “Button1_Click” 的单击事件处理程序中,请添加将文本上载到 blob 服务的代码并添加诊断消息。若要添加所需的 Windows Azure 类型,请将以下 using 语句添加到 default.aspx.cs:

    using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.ServiceRuntime; 
    
  4. 添加以下代码来完成这些任务:

    • 创建 CloudStorageAccount 实例的配置设置中的连接字符串

    • 创建 blob 容器

    • 将文本 blob 上载到该容器

    • 添加 Web 角色的诊断消息

     protected void Button1_Click(object sender, EventArgs e) {     // Setup the connection to Windows Azure Storage     var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("MyConnectionString"));     var blobClient = storageAccount.CreateCloudBlobClient();     // Get and create the container     var blobContainer = blobClient.GetContainerReference("quicklap");     blobContainer.CreateIfNotExists();     // upload a text blob     var blob = blobContainer.GetBlockBlobReference(Guid.NewGuid().ToString());     byte[] data = new byte[] { 0, 1, 2, 3, 4, 5 };     blob.UploadFromByteArray(data, 0, data.Length);     // log a message that can be viewed in the diagnostics tables called WADLogsTable     System.Diagnostics.Trace.WriteLine("Added blob to Windows Azure Storage"); } 
    

  5. 若要将断点添加到你刚刚在 Button1_Click 事件处理程序中插入的代码行,请打开代码行 blob.UploadFromByteArray(data, 0, data.Length) 的快捷菜单,然后选择“断点”>“插入断点”(键盘操作:F9)。

  6. 添加代码设置诊断监视器以每秒传输日志和启动监视器。诊断监视器使用当你创建 Windows Azure 项目时添加的连接字符串。必须在 WebRole.cs 中的 OnStart 方法的开头添加以下代码:

                 //Get the configuration object             DiagnosticMonitorConfiguration diagObj = DiagnosticMonitor.GetDefaultInitialConfiguration();              //Set the service to transfer logs every second to the storage account             diagObj.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);              //Start Diagnostics Monitor with the new storage account configuration             DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", diagObj); 
    

note注意
会将 Windows Azure 跟踪侦听器作为角色模板的一部分添加到 web.config。该跟踪侦听器会将跟踪和调试消息路由到 Windows Azure Diagnostics 系统。

生成和调试 Windows Azure 应用程序

你可以生成应用程序,然后使用作为 Windows Azure Tools 的一部分提供的计算和存储仿真程序,在本地运行并调试此应用程序。这样,你便可以在本地开发应用程序,然后将它发布到 Windows Azure。可使用仿真程序查看添加到存储的数据和任意诊断信息。

生成 Windows Azure 应用程序

  1. 若要生成项目,请打开 Windows Azure 项目的快捷菜单,然后选择“生成”

  2. 若要查看生成输出,请打开 Windows Azure 项目的快捷菜单,然后选择“在文件资源管理器中打开文件夹”。转到 bin\Debug 目录以显示生成输出。

    VST_QL_ViewInWindowsExplorer

修改每个角色的设置

  1. 若要修改设置,请在“解决方案资源管理器”“角色”节点下,为 Windows Azure 项目选择一个角色,打开该角色的快捷菜单,然后选择“属性”

    这将显示该 Web 角色的属性页。使用属性页可以编辑服务定义文件和服务配置文件中的每个角色级别的元素和特性。

    Visual Studio Azure 项目设置页
    Important重要提示
    如果要在本地运行 Windows Azure 应用程序以对它进行调试,并且要将该应用程序发布到 Windows Azure,则通常需要为角色设置指定不同的值。例如,你可能需要在 Windows Azure 中运行某个角色的四个实例,但在本地环境中调试时,只需运行一个实例。现在,可以在 Windows Azure 项目中使用多种服务配置,这些配置使你能够定义这些不同的值。然后,可选择要使用的选项。有关执行此操作的详细信息,请参阅配置 Azure 项目

  2. 若要对所有服务配置进行更改,请在“服务配置”列表中选择“所有配置”

  3. 若要更改“实例计数”文本框中的实例计数,请键入 2

  4. 若要移动到“设置”选项卡,请选择“设置”。(键盘操作:按 Tab 键移到“配置”,然后选择下箭头。)

  5. 若要将 Visual Studio 配置为在你运行或调试 Windows Azure 应用程序时使用本地存储仿真程序,必须将使用的连接字符串添加到按钮单击事件处理程序。使用以下步骤来执行此操作:

    1. “设置”选项卡,选择“添加设置”按钮。

    2. “名称”文本框中,键入 MyConnectionString

    3. “类型”组合框中,选择连接字符串

    4. 选择“值”文本框中的省略号。显示“存储帐户连接字符串”对话框。当系统提示你登录时,请关闭该对话框。选择“使用 Windows Azure 存储仿真程序”,然后选择“确定”按钮。

    5. 在工具栏,选择“保存”图标。

  6. 在本演练结束时,如果你已准备好发布到 Windows Azure,则可以使用此“设置”选项卡,将“云”服务配置(名为 ServiceConfiguration.Cloud.cscfg)的此连接字符串的值更改为使用 Windows Azure 存储帐户。然后,可以在发布此 Windows Azure 云服务时使用此服务配置。

调试 Windows Azure 项目

  1. 在菜单栏中选择“调试”>“启动调试”(键盘操作:F5)。

    Important重要提示
    如果未将 Windows Azure 项目设置为启动项目,当你单击按钮以触发断点时,将出现以下错误:“外部组件引发了异常”。出现错误的原因在于,必须初始化 Development Fabric 才能进行 Windows Azure API 调用。若要将 Windows Azure 项目设置为启动项目,请打开 Windows Azure 项目的快捷菜单,然后选择“设置为启动项目”

    启动存储仿真程序和 Visual studio 的计算仿真程序。通过这些仿真程序,可以在将 Windows Azure 应用程序发布到 Windows Azure 之前,在本地运行和调试该应用程序。

    note注意
    通知区域中会显示一个 Windows Azure 图标,你可以使用它来查看计算仿真程序 UI 和存储仿真程序 UI,或关闭这些服务。

    Warning警告
    计算仿真程序有两个版本:完整版和速成版。在某些情况下,当你使用其中一个仿真程序时,可能会显示以下错误消息:“无法确定仿真程序的运行模式。请确保你有足够的权限。”如果看到此错误,则表示你运行仿真程序时所用的权限集与你当前在 Visual Studio 中使用的权限集不同。例如,如果你使用不同的权限集重新启动 Visual Studio,但未停止仿真程序,则可能会发生这种情况。若要解决此问题,只需重新启动计算仿真程序即可。可以在任务栏中使用 Windows Azure 图标的快捷菜单来停止和启动仿真程序。

  2. 如果首次使用存储仿真程序,则会显示“开发存储初始化”对话框。初始化过程完成时,选择“确定”按钮关闭该对话框。

    浏览器会自动启动,并且指向 ASP.NET Web 站点。

    在浏览器中新建 ASP.NET 网页。
  3. 若要管理本地部署,请在通知区域中打开 Windows Azure 图标的快捷菜单,然后选择“显示计算仿真程序用户界面”

    此时将显示“Windows Azure 计算仿真程序”

  4. 选择“MyWebRole”以显示 Web 角色的实例,如下图所示。选择要查看只该单个实例的特定实例。

    note注意
    其中存在两个 Web 角色实例,因为我们将角色实例计数设置为 2。任一实例都可处理请求。

    运行 2 个 Web 角色的 Azure 计算模拟器
  5. 若要触发在调试器中设置的断点,请选择所创建的按钮。

  6. 若要逐步执行代码行,直到已将数据上载到 blob 并将消息记录到诊断表,请按 F10 三次。

  7. 若要查看添加的 blob 数据,请在菜单栏上选择“视图”、“服务器资源管理器”。打开树中的“Windows Azure”节点,然后选择“存储、开发、Blob”节点。当系统提示你登录时,请关闭该对话框。双击“quicklap”节点,如下图所示:

    VST_QL_WAStorageNode

    “quicklab”选项卡中显示 blob 中的数据。

  8. 若要查看数据,请双击显示在列表中的条目。

  9. 若要查看登录的诊断消息,请在菜单栏上选择“视图”、“服务器资源管理器”(如果它不可见)。打开树中的“Windows Azure”节点,然后选择“存储、开发、表”节点。双击“WADLogsTable”节点。

    诊断消息显示在 WADLogsTable 选项卡中。消息的数据是在表中的最后一列。

  10. 若要查看 Windows Azure 的活动日志,请在菜单栏中选择“视图”>“其他窗口”>“Windows Azure 活动日志”。使用活动日志可以跟踪长时间运行的操作的状态。你将看到与下载的文本 Blob 相对应的项。

  11. 如果你正在使用存储仿真程序,请在通知区域中打开 Windows Azure 图标的快捷菜单,然后选择“显示存储仿真程序用户界面”以显示以下对话框。你可以通过该对话框控制正在运行的存储服务,以及重置所有数据。

    Visual Studio 工具模拟器用户界面

发布 Windows Azure 应用程序

使用 Windows Azure Tools for Microsoft Visual Studio,可以直接从 Visual Studio 将 Windows Azure 应用程序发布到 Windows Azure。

在发布 Windows Azure 应用程序之前,你必须先准备好一个 Microsoft 帐户Windows Azure 订阅。此外,必须在 Windows Azure 管理门户中设置应用程序将要使用的云服务和存储帐户。有关如何设置这些服务的详细信息,请参阅 设置从 Visual Studio 中发布云服务所需的服务

发布时,可以选择云服务的部署环境。你还必须选择用来存储部署的应用程序软件包的存储帐户。部署后,从存储帐户中删除应用程序包。

可以从“服务器资源管理器”连接到 Windows Azure 订阅,以简化发布到 Windows Azure 的过程。在低于 2.2 的 Windows Azure SDK 版本中,需要下载一个订阅文件(.publishsettings 文件),并在发布云服务或者连接到存储帐户或其他资源时引用该文件。如果你正在使用订阅文件,则仍可以在 Windows Azure SDK 2.2 中使用这些文件,但是,如果使用下一过程中的步骤连接到 Windows Azure,则不再需要管理订阅文件。

从 Visual Studio 连接到 Windows Azure

  1. “服务器资源管理器”中选择 Windows Azure 节点,打开其快捷菜单,然后选择“连接到 Windows Azure”

    连接到 Windows Azure
  2. 提供用于 Windows Azure 订阅的凭据。这些凭据与你登录到管理门户时使用的凭据相同。若要最大程度地减少提供密码的次数,请选中“使我保持登录状态”复选框。

    关闭 IDE 后,Visual Studio 将保存你的连接,并且当你再次启动 Visual Studio 时,你仍会保持登录状态。

  3. (可选)如果你想要注销,请在“服务器资源管理器”中打开 Windows Azure 节点的快捷菜单,然后选择“管理订阅”。此时将出现“管理 Windows Azure 订阅”对话框。若要注销,请选择“注销”按钮,然后选择“关闭”按钮。除非你想要使用另一个订阅登录,否则不需要注销。

从 Visual Studio 发布 Windows Azure 应用程序

  1. 如果你必须更改应用程序中的任意连接字符串以使用 Windows Azure 存储服务,请执行以下步骤:

    1. 在解决方案资源管理器中,打开 Windows Azure 项目中用于访问存储服务的 Web 角色的快捷菜单,然后选择“属性”

    2. 在角色的属性页,选择“设置”选项卡。

    3. 若要仅修改“云”配置的服务配置设置,请在“服务配置”列表中选择“云”。然后,可以在发布 Windows Azure 应用程序时使用此服务配置。

    4. 若要修改任何连接字符串设置,请选择该设置旁边的“…”按钮。

      如果你尚未提供用于 Windows Azure 的凭据,将显示登录页。提供你的凭据。

      将显示“创建存储连接字符串”对话框。

    5. “连接时使用”下,选择“你的订阅”选项。

    6. “订阅”列表中,选择你的订阅。如果列表未包含所需订阅,请选择“下载发布设置”链接。

    7. “帐户名称”列表中,选择存储帐户名称。

      当你连接到 Windows Azure 时,Windows Azure Tools 将自动获取存储帐户凭据,或者使用订阅文件(.publishsettings 文件)来获取凭据。若要手动指定存储帐户设置,请从管理门户中获取存储帐户的名称和主密钥,然后选择“手动输入的凭据”

    8. 必须从以下选项中选择一个,确定服务将如何访问存储帐户:

      • “使用 HTTP”。这是标准选项。例如,http://<account name>.blob.core.windows.net

      • “使用 HTTPS”。这适用于安全连接。例如,https://<accountname>.blob.core.windows.net

      • “指定自定义终结点”。这适用于三种服务中的任何一种。然后,可将这些终结点键入特定服务的字段中。

        note注意
        如果创建自定义终结点,这允许创建更为复杂的连接字符串。当你使用此字符串格式时,你可以指定包含已为 Blob 服务的存储帐户注册的自定义域名存储服务终结点。此外,你可通过共享访问签名仅授予对单个容器中 blob 资源的访问。有关如何创建自定义终结点的详细信息,请参阅 How to Configure Connection Strings

    9. 若要保存这些连接字符串更改,请选择“确定” 按钮。

      保存这些更改后,可以使用你更新的这项服务配置从 Visual Studio 内部生成并运行 Windows Azure 应用程序,以及验证该应用程序是否按预期与 Windows Azure 存储服务配合工作。有关怎样选择服务配置来进行本地运行和调试的详细信息,请参阅如何:使用 Visual Studio 配置 Azure 项目

  2. 若要发布应用程序,请在解决方案资源管理器中打开包含你的角色的 Windows Azure 项目的快捷菜单。然后选择“发布”,如下图所示:

    VST_PublishMenu

    此时将出现“发布 Windows Azure 应用程序”对话框。

  3. 如果你尚未登录,请选择“登录”按钮,然后提供 Windows Azure 用户名和密码。

    这是发布向导的一个屏幕
  4. “选择订阅”列表中,选择要用此部署的订阅。

    如果选择“<管理…>”,则可以创建、编辑或删除订阅。

  5. 订阅信息设置完毕后,选择“下一步”按钮,打开“设置”页,然后选择“常规设置”选项卡。

    发布向导常用设置
  6. “环境”列表中选择“生产”。这是用于托管云服务的部署环境。默认情况下,这些环境包括“过渡”和“生产”。

    可以部署到空环境,也可以部署到其他部署正使用的环境。

  7. “生成配置”列表中,选择所需配置,例如“发布”

  8. “服务配置”列表中,选择“云”

  9. 若要为此部署环境配置远程桌面连接,以便可以连接到运行某个角色的每个实例的虚拟机,请选中“为所有角色启用远程桌面”复选框,并创建登录到虚拟机时要使用的帐户凭据。

    有关详细信息,请参阅将远程桌面与 Azure 角色一起使用

  10. 选择“高级设置”选项卡。

    发布向导高级设置
  11. “存储帐户”列表上,选择用于在部署过程中,将服务包上载到此帐户的帐户。

    note注意
    此存储帐户可以不是计划用于应用程序数据的那个存储帐户。

  12. 如果希望在发布应用程序的新生成时,不要自动覆盖现有部署,请选择“部署更新”复选框。

    有关部署更新设置的详细信息,请参阅发布 Windows Azure 应用程序向导

  13. 你的部署创建一个默认名称。若要更改此名称,可以在“部署标签”中,输入新名称或修改默认名称。此名称用在“管理门户”中。

  14. 若要将日期和时间追加到部署标签,请选择“追加当前日期和时间”复选框。

  15. 若要为此部署启用 IntelliTrace,请选择“启用 IntelliTrace”复选框。

    IntelliTrace 为你的应用程序提供调试信息,你可用于在 Visual Studio Ultimate 中逐步调试你的代码。有关详细信息,请参阅使用 IntelliTrace 进行调试

    note注意
    仅当从 Visual Studio Ultimate 中发布应用程序时,才可启用 IntelliTrace。

  16. 若要为此部署启用分析以确定 Windows Azure 应用程序的性能,请选中“启用分析”复选框。分析可提供你的应用程序的性能信息。有关如何配置分析设置的详细信息,请参阅 测试云服务的性能

    Important重要提示
    在发布 Windows Azure 应用程序时,可以启用 IntelliTrace 或分析。都无法启用。

  17. (可选)如果你正在从 Visual Studio 进行发布,并且已安装最新版本的 Windows Azure Tools,则还可以为所有 Web 角色启用 Web 部署。有关执行此操作的要求和详细步骤,请参阅To Enable Web Deploy When You Publish Your Application

  18. 选择“下一步”按钮复查设置。

    发布向导摘要页
  19. 若要发布 Windows Azure 应用程序,请选择“发布”按钮。Visual Studio 启动部署过程。可以在“Windows Azure 活动日志”窗口中查看部署进度。当启动部署过程时,将自动显示此日志。可在活动日志中展开行项以显示详细信息,如下图所示:

    VST_AzureActivityLog
  20. (可选)若要取消部署过程,请打开活动日志中的行项目的快捷菜单,并选择“取消并删除”。这会停止部署过程,并从 Windows Azure 中删除部署环境。

    note注意
    若要在已完成部署后删除此部署环境,必须使用管理门户

  21. (可选)启动角色实例后,Visual Studio 将自动在“服务器资源管理器”中显示部署环境节点。可以从此位置查看单个角色实例的状态。有关如何使用“服务器资源管理器”来查看部署的详细信息,请参阅使用服务器资源管理器,查看云服务的状态

    下图显示了一些角色实例,其中一个实例仍处于“忙”状态,因为仍在对它进行初始化:

    VST_DeployComputeNode
  22. 若要在部署后访问你的应用程序,请在“Windows Azure 活动日志”中显示“已完成”状态时,选择部署旁边的箭头。若要随应用程序启动浏览器,请选择显示在部署详细信息中的超链接。

后续步骤

另请参见

社区附加资源

显示:
© 2014 Microsoft