Visual Studio 2012html
Visual Studio Express 2012 for Webweb
与 的Visual Studio 2010 Visual Studio Web发布更新 数据库
与 的Visual Web Developer 2010 Express Visual Studio Web发布更新 express
您能够部署到任何如下目标: 浏览器
对于承载提供程序。 安全
对于在开发计算机上的IIS做为一个测试环境。 服务器
到公司的内部网络上的服务器。 网络
使用 发布 Web 向导,若要配置 Web 应用程序项目的部署在Visual Studio中,能够建立一个或多个 发布配置文件。 发布配置文件中指定要部署到的服务器,必需的凭据登陆到服务器,部署的数据库和其余部署选项。 当您准备好发布时,能够选择要使用并单击 发布 按钮在向导或在 Web一键式发布 工具栏的配置文件。 架构
部署网站一般须要除了建立配置文件以外的其余准备工做。 本主题不包括有关可能须要执行的其余任务的信息。 例如,指定生成和合并选项在 打包/发布 Web 选项,不在发布配置文件。 app
许多宿主提供程序提供可用于简化建立发布配置文件处理的一个.publishsettings文件。 若是使用.publishsettings文件,请确保您具备最新版本,则此开始以前。 (例如,所以,若是您最初建立了一个账户,不用SQL Server数据库稍后添加的代码,您必须下载该.publishsettings的最新版本,以确保它包含链接字符串须要。)
在 解决方案资源管理器,请右击该项目并选择 发布 打开 发布 Web 向导。
若是还没有建立任何配置文件,该向导在 配置文件 选项卡中打开。 不然,它会 预览 选项卡中打开。 在这种状况下,建立一个新的配置文件必须先单击 配置文件 选项。
注意到 配置文件 选项的 管理配置文件 按钮。 在建立了一个配置文件以后,可使用此按钮重命名或删除其重命名为。
执行如下过程之一,具体取决于您是否具备一个.publishsettings文件:
单击“导入”。
导入发布设置 对话框打开。
选择.publishsettings文件,而后单击 打开。
在的 选择或导入一个发布配置文件 下拉列表中,选择 <New …>,而后输入一个名称该配置文件在 新建配置文件 对话框。
发布 Web 向导自动前进到 链接 选项。
若是使用了一个.publishsettings文件,此选项卡上的字段已填充。 在这种状况下,请跳过此过程和 验证链接。
选择一个值。发布方法 列表。
由于它能够自动化大大小部署任务,Web Deploy为建议的发布方法。 可是,在此选择方案以前,请确保部署的承载提供程序或服务器支持Web部署。
若是选择Web部署,而且您自己是发布到测试的IIS计算机,则必须在计算机上具备管理权限,而且,Visual Studio必须运行在控制器模式。 (打开Visual Studio在控制器模式下,右击在Windows 开始 菜单的Visual Studio图标并选择 以管理员身份运行。)
若是选择Web部署,而且您自己是发布到web服务器,确保服务器为Web部署代理服务(MSDepSvc,远程代理服务)设置为,所以,您在目标服务器上具备管理权限。
屏幕快照和大多数本主题中的步骤假定,您选择了Web Deploy发布方法。 若是要部署到不支持Web的承载提供程序将部署,能够选择FTP。 在这种状况下,命令的某些如下步骤会有所不一样。 服务 URL 和 站点/应用程序 字段中 目标位置 字段交换,则输入FTP或FTPS URL。 若是匿名登陆,容许您不须要输入用户名和密码。 若是须要被动模式,请编辑发布配置文件(.pubxml)文件并更改 FtpPassiveMode 元素的值设置为 true。
一个 发布方法 选项是 Web部署包。
在 服务 URL 框中,输入Web Deploy可使用发布应用程序的URL。
若是要发布到托管公司,该公司提供此值。 它能够是任何如下格式:
托管公司 URL(例如,contoso.com)
https:// HostingCompanyURL (例如,https://contoso.com)
https:// HostingCompanyURL :8172/msdeploy.axd (例如,https://contoso.com:8172/msdeploy.axd)
若是自己是发布到测试的IIS计算机,输入 localhost 或您的计算机的名称。
若是自己是发布到web服务器,请输入如下URL之一:
http:// ServerName
http:// 服务器名称 /msdeployagentservice
在 站点/应用程序 框中,输入IIS网站和应用程序的名称。
若是要发布到托管公司,该公司提供此值。 它一般是域名(例如,contoso.com)或域和应用程序名称(例如,contoso.com/MyApplication)。
若是自己是发布到测试的IIS计算机,也能够链接到您的内部网络上的服务器,请输入网站和应用程序名称,则会在 IIS 管理器。 例如,所以,若是要发布到IIS的默认网站,而且,若是应用程序名称为MyApplication,输入默认网站/myapplication "。
在 用户名 和 密码 框中,输入具备执行足够的权限在目标web服务器的部署任务的账户凭据。
若是要发布到托管公司,该公司提供这些值。
若是不但愿在每次提示您输入密码您发布,选择 保存密码 复选框。
密码在PublishProfiles文件夹的一.pubxml.user文件已加密并存储。 若是使用源代码管理,默认状况下该文件从源代码管理中排除。
若是但愿Visual Studio中部署的应用程序的URL自动打开您的默认浏览器,在部署完成以后,输入URL。目标URL 框。
单击 验证链接 验证您可以创建与服务器的链接使用您输入的设置。
若是您看到 证书错误 对话框中,确保要发布到正确的URL (检查 服务 URL 和在 证书错误 对话框的服务器名称)。 若是设置是否正确,请选择 保存Visual Studio之后的会话的此证书,这样您就得到相同的错误消息,而后选择 接受证书。 (此错误意味着承载提供程序选择避免购买要部署的URL的SSL证书成本。 使用有效证书,若是您但愿生成一个安全链接,请联系您的承载提供程序。)
若是Visual Studio没法生成链接,请确保没有从您的计算机防止链接(例如set代理或的firewall),而后重试。 若是仍没法进行链接、联系人承载提供程序或维护目标服务器的人员。
在 链接 选项卡上,单击前进到 设置 选项的 下一步。
在的 配置 下拉列表中,选择生成配置部署。
一般部署发布版本。 调试版本没有效地运行且一般处于选中状态,只有在部署到测试环境时,您将在该环境中须要调试。
若是要删除没有匹配的文件在计算机的web项目在目标服务器上的文件,选择 删除其余文件在目标 复选框。
![]() |
---|
若是选择此选项,请确保您使用预览功能,以便文件要删除的您事先看到,在部署以前。 所需的行为是Web Deploy将删除能够在您的项目已删除的目标服务器的文件。 可是,在源文件夹和目标文件夹下的整个文件夹结构进行比较,因此,而且Web Deploy某些状况下可能删除不要移除的文件。 例如,所以,若是您有一个 Web 应用程序在服务器的子文件夹,当您将项目部署到根文件夹,子文件夹中删除。 您可能有主站点中的一个项目。contoso.com 和博客上的另外一个项目。contoso.com/blog。 博客应用程序位于子文件夹中。 若是选择 删除其余文件在目标,当您部署主站点,博客应用程序将被删除。 到另外一个示例,您的App_Data文件夹可能会意外删除。 某些数据库(如SQL Server compact存储在App_Data文件夹中的数据库文件。 在后面的部署不想保留这样将数据库文件复制您在中选择 打包/发布 Web 选项的 排除App_Data 的初始部署以后。 在执行后,所以,若是您有 删除其余文件在目标 时,您的数据库文件和App_Data文件夹中删除,下次发布。 |
设置 选项的 数据库 部分没有为FTP,文件系统显示,而且,FPSE发布方法。 若是选择了这些方法之一,则跳过下面的过程并手动部署数据库。
若是选择了Web Deploy发布方法,您在项目中使用的每一个数据库看到一项。 此图显示使用两个数据库的项目。
若是您的项目所使用的数据库缺乏,请确保您具备的Web.config文件中的链接字符串。 设置 选项列表将肯定的由Web.config文件中的链接字符串或者是由实体框架代码的第一个上下文选件类的数据库。
![]() |
---|
若是清除 包括在“打包/发布 SQL”选项卡中配置的全部数据库 复选框,数据库中输入的部署在此处设置不起做用。 |
执行中显示列表中的每一个数据库的下列程序。
在链接字符串框中,选择或输入指向目标数据库的链接字符串。
组合框包含链接字符串在.publishsettings文件(若是使用的建立该配置文件),从其余线程将在项目的配置文件和从的数据库具备访问在 服务器资源管理器。 能够选择其中一个,手动输入链接字符串或者单击省略号打开 目标链接字符串 对话框。
若是链接字符串是由实体框架数据库或设计首先获取首先的数据库,不要指定链接字符串的完整entity framework版本示。 Visual Studio将使用您输入此处执行部署的链接字符串,则在部署的Web.config文件构造entity framework链接字符串中。
若是不但愿访问由应用程序在运行时使用的链接字符串,清除 使用此链接字符串在运行时 复选框。
当 使用此链接字符串在运行时 复选框后,部署过程更改此数据库的链接字符串在部署的Web.config文件中对组合框中的值。 在大多数状况下是正确的选择,可是,在某些状况下可能但愿应用程序链接到数据库使用受限权限。 在这种状况下,清除此复选框和建立更改在部署的Web.config文件中的链接字符串到的一个Web.config转换所需它是在运行时。
若是使用entity framework代码的第一个上下文选件类访问数据库,可使用 第一个代码迁移 部署数据库和更新到数据库架构。 为此,请选择 执行第一个代码迁移(在应用程序启动时运行)。
当您使用第一个代码迁移部署数据库时,未完成该数据库在实际部署过程。 可是,部署在目标网站处理更新Web.config文件,以便第一个代码迁移使用 MigrateDatabaseToLatestVersion 初始值设定项选件类。 当访问数据库的应用程序第一次在部署,迁移后自动建立数据库或更新数据库架构与最新版本。 若是应用程序执行迁移 Seed 方法,运行该方法时,将在数据库中建立后或更新架构。
![]() |
---|
若是应用程序在中等信任在部署(为true的大多数第三方承载提供程序)的环境中运行,请确保使用entity framework 5版或更高版本。 E-F 4.3和发行版本的E-F 5要求彻底信任使数据库架构更新。 在面向ASP.NET 4及更高版本的项目中使用E-F 5。 |
若是已经实现 DbMigrationsConfiguration 选件类,才能使用此选项。 若是错误消息指示 DbMigrationsConfiguration 选件类个,必须启用第一个代码迁移,才能完成配置数据库部署以前。
若是该项目实现多个 DbMigrationsConfiguration 有关上下文选件类类,则没法配置此数据库的部署在发布配置文件。
在链接的凭据字符串您在链接字符串框中输入必须表示一个管理用户账户。 此链接字符串来建立数据库,首次部署并更新数据库架构,在部署数据库更改时。 若是但愿应用程序访问数据库在具备有限权限的运行时,清除 使用此链接字符串在运行时 复选框和建立指定链接字符串所需应用程序在运行时使用的一个Web.config转换。
若是要部署SQL Server compact数据库,属性,而且,若是数据库的链接字符串在Web.config文件中,必须配置Web.config转换建立一个附加链接字符串。 它更新数据库架构时,请第一个代码将使用此链接字符串。 (若是不执行手动建立此链接字符串,Visual Studio会自动建立它,可是,自动建立的链接字符串具备错误的 providerName 值。)此转换的XML相似于如下示例:
经过使用迁移,
若是不使用第一个代码上下文选件类访问数据库,而且,若是它是SQL Server或SQL Server express数据库,而且,要与应用程序一块儿部署数据库,选择 更新数据库。
此选项使用dbDacFx Web部署提供程序。 在初始部署期间,数据库架构建立的。 在后续部署期间,目标数据库与源数据库进行比较,而且,更新目标数据库架构与源数据库。
数据在数据库表中未自动部署。 若是须要部署到目标数据库,建立一个自定义数据库脚本并将其配置为运行在部署期间,在 [自动更新架构] 脚本运行以后,以下面的步骤所述。
默认状况下,dbDacFx提供程序不会自动提交会致使数据丢失的架构更改,例如删除列或表。 若是提供程序检测会致使数据丢失的更改,部署失败,而且该缘由在Visual Studio 输出 窗口中显示。 若是此操做,请建立一个自定义脚本执行所需的更新架构,并将其配置为运行,以 [自动更新架构] 脚本运行以前,以下面的步骤所述。 为运行脚本的替代,在发布该项目以前,在部署期间,则能够链接到 SQL Server 对象资源管理器 的目标数据库和交互地更新数据库。
若是要部署到托管公司,请确保该托管公司让Web deploy 3.0并在该服务器上安装dbDacFx提供程序。
Web deploy 3.0和dbDacFx提供程序
此软件只须要在目标web服务器,不在目标数据库服务器。 若是要部署到在开发计算机上的IIS您没必要安装此软件默认状况下,由于它随 Visual Studio 20十二、 Visual Studio Express 2012 for Web或 Visual Studio Web 发布更新。
在链接的凭据字符串您在链接字符串框中输入必须表示一个管理用户账户。 此链接字符串来建立数据库,首次部署并更新数据库架构,在部署数据库更改时。 若是但愿应用程序访问数据库在具备有限权限的运行时,清除 使用此链接字符串在运行时 复选框和建立指定链接字符串所需应用程序在运行时使用的一个Web.config转换。
若是有多个数据库中的项目,可是,您已部署的应用程序只想使用数据库,您一般能够合并多个源数据库到一个目标数据库。 经过选择 更新数据库 并进入每一个的相同目标链接字符串执行该源数据库。 能够将数据库,只要不对象名称冲突,例如相同在多个源数据库方面的表名。
若是选择了 更新数据库 在部署期间,所以,要运行自定义SQL脚本,请单击 配置数据库更新。
配置数据库更新 对话框打开。
使用 将SQL脚本 连接向上或向下添加脚本、箭头、更改它们的运行顺序和复选框来指定个列出的脚本在部署期间,是否将运行。
标记 [自动更新架构] 的脚本将自动生成,而后运行在部署过程当中更新目标数据库的架构与源数据库。 能够指定自定义脚本以前运行,则,或者两个在自动脚本以前或以后运行。 在一个自定义脚本将添加以后,下图显示 配置数据库更新 对话框。
若是数据库是SQL Server express或在App_Data文件夹中的SQL Server compact数据库文件,而且,若是您不但愿将文件复制到目标服务器,打开 项目属性 窗口的 打包/发布Web选项 并选择 从App_Data文件夹中排除文件 复选框。 确保在 打包/发布 Web 选项选定的生成配置,若选择此选项是用于部署指定在 发布 Web 向导的 设置 选项相同的一个。
若是数据库是SQL Server compact数据库,则可能还须要确保,数据库引擎部署。
在完成配置全部数据库,单击前进到 预览 选项的 下一步。
若是要查看列表文件将复制并从承载提供程序已删除的预览,单击 启动预览。
在短等待,文件列表中出现一个选项以后。
首次发布,须要运行应用程序的全部文件复制到承载提供程序。 在发布更新,所以,只有已更改的文件复制。 (除Web.config文件中:Visual Studio没法预测哪些更改可能由转换,而且Web部署参数,它始终这样将Web.config文件复制。)若是选择了 删除其余文件在目标 选项,检查预览列表尤为重要,在发布以前。
若是您为数据库选择了 更新数据库,而且但愿找出将对该数据库,请单击该数据库右侧显示的 预览数据库 连接。 (不能预览部署使用entity framework第一个代码迁移。)的更改数据库预览 对话框显示在目标数据库中运行的脚本。 若是数据库大,它能够采用一分钟或更长此预览的会出现。
当您准备部署项目时,请单击 发布。
若是您还没有验证链接,在配置了 链接 选项,您可能会发现 证书错误 对话框。
当部署过程完成后,输出 窗口指示部署是否成功。
若是输入 目标URL 的值在 链接 选项,则默认浏览器对该URL打开在部署成功后。
若是部署失败,用于错误消息请参见 错误列表 窗口。
本文来自于:转http://www.cnblogs.com/-Apple/archive/2013/01/03/2843410.html