原文地址:http://sedodream.com/2012/06/15/VisualStudio2010WebPublishUpdates.aspx
免责申明:本文为翻译,仅用于学习交流,版权归原作者所有 (Sayed Ibrahim Hashimi @SayedIHashimi)
更多说明:本着自学加深记忆之目的翻译此文,不用于任何商业用途
上周我们铺开针对Visual Studio 2010 Web 发布体验的一些更新.这篇文章将给大家一个我们发布新功能的概览.接下来几周将会有关于独特新功能的更多细节文章.
你可能通过Windows Azure SDK for Visual Studio 2010来获得更新,当你下载完更新包,你同时也获得了最新的云开发工具.
新的主要功能如下:
- 更新Web发布对话框
- 支持导入发布配置文件(.publishSettings files)
- 支持在发布时配置EF代码优先迁移
- 支持在通过发布对话框创建Web包
- 默认发布配置作为项目版本控制的一部分
- 发布配置是MSBuild文件
- 配置特定web.config转换
概览
在Web应用程序项目(WAP)右击出现新的发布对话框
在Profile标签页,你可以导入Web主机服务商提供 .publishSettings 文件,你也可以管理自己的发布配置.如果你的网站放在Windows云网站,那么你可以在控制面板中点击"下载发布配置"链接来下载发布配置.然后你导入这个发布配置文件就会自动进入Connection标签页.
在Connection标签页来配置客户机连接服务器的配置值.通常你不用担心这些配置的细节.接下来你将看到Settings标签页.
在Settings标签页你可以设置被发布处理的生成配置,默认为发布.下面的复选框用来删除任何在项目中不存在的文件.
接下来是数据库配置节.这个示例项目展示其使用的是名为ContactsContext的实体框架代码优先模型,并且这使用代码优先迁移来管理数据库架构.如果你在web.config中使用非EF代码优先连接字符串也会出现这个配置界面,这是因为更多的发布架构还没有完成.那正是我们当前的工作,你可以访问my previous blog entry获得更多信息.
如果你导入的 .publishSettings 文件带有连接字符串,那么连接字符串将自动的插入到文本下拉框中.如果没有可以通过"..."按钮来通过连接字符串生成对话框创建连接字符串或者手动键入/粘贴也行.针对EF代码优先,你会看到执行代码优先迁移的复选框.如果你选中它,当你的网站被发布的时候web.config将启用代码优先迁移,当会话被访问的时候会首先来执行.接下来是Preview标签页.
当你第一次进入Preview标签页时会显示"开始预览"按钮.点击按钮出现你发布时被执行的文件列表,你可以操作它们.如果网站从来没有发布那么所有的文件都会被勾选,如下图所示.Action还包含更新、删除
一切就绪就可以按"发布"按钮发布.你可以在输出窗口中监视发布过程.如果你在发布配置中填写了目标URL,在发布完成后将自动用默认浏览器打开网站URL.
发布配置文件
在发布体验中,改变之一是发布配置文件现在已经作为项目文件一部分来存储.他们被存储在Properties\PublishProfiles(VB项目是My Project\PublishProfiles) 并且扩展名为 .pubxml.如下图所示.
.pubxml文件是MSBuild文件,你可以修改他们来自定义生成过程.如果你不想把发布配置文件加入到版本控制只需要简单地从项目中排除.发布对话框会在发布配置文件夹中查找这些文件,因此你仍能够正常发布.你也可以借助这些配置文件从命令行轻松发布.例如你可以使用下面的语句从命令行发布.
msbuild.exe WebApplication2.csproj /p:DeployOnBuild=true;PublishProfile="pubdemo - Web Deply";Password={INSERT-PASSWORD}
资源
- Windows Azure SDK for Visual Studio 2010 (包含新的发布经历)
- 教程:Deploying an ASP.NET Web Application to a Windows Azure Web Site and SQL Database
- Visual Studio 2012 RC Deployment Documentation Published (the publish experience in VS2012 RC is nearly identical to the VS 2010 Web Publish updates)
- Sayed’s blog
有任何疑问请请直达sayedha(at){MicrosoftDOTCom}
Sayed Ibrahim Hashimi @SayedIHashimi
posted on
浙公网安备 33010602011771号