代码改变世界

微软ASP.NET站点部署指南(4):配置项目属性

2011-11-26 05:09  汤姆大叔  阅读(3346)  评论(1编辑  收藏  举报

1.  综述

有些部署设置可以在项目属性里设置的,并且保持到项目文件里(.csproj.vbproj)。 大多数情况下,你都可以在Visual Studio 选择项目属性Project Properties,在属性窗口里设置这些参数。该章节将告诉你如何设置这些参数。

2.  项目属性窗口里配置部署参数

影响项目部署的设置参数可以在项目属性(Project Properties)窗口的Package/Publish 选项卡里设置。可以对不同的build配置设置不同的参数值,本章节将指导你查看这些默认设置,然后改变一下其中的内容。

Solution Explorer里,右键ContosoUniversity项目,选择Properties属性,然后选择Package/Publish Web 选项卡。

 

该窗口显示的时候默认的build配置是当前使用的配置,如果Configuration框里显示的不是Active (Test),请手工选择Test 以确保我们后面修改的参数被部署到测试环境。

切换到Active (Test)或者Test 选项时候,默认值将都显示出来了,当时候Test build配置的时候,你可以修改以下的内容:

  • Only files needed to run the application will be deployed(只部署。其它2个选项是All files in this projectAll files in this project folder。默认选项是让你避免部署源代码到站点上,这就是为什么SQL Server Compact 程序集类库为什么没有部署上去的原因。更多信息,请查看ASP.NET Web Application Project Deployment FAQWhy don't all of the files in my project folder get deployed?章节。
  • 选上Exclude generated debug symbols因为你在测试环境是不需要debug操作的。
  • 不需要选上Exclude files from the App_Data folder因为这个文件夹包括需要部署的SQL Server Compact数据库文件。当你下次升级部署的时候,到应选选上这个选项。
  • 不需要在Package/Publish SQL选项卡配置数据库的东西。所以Include all databases configured in Package/Publish SQL tab选项是没有任何效果的。在部署完整版SQL Server 数据库的话,你需要用到Package/Publish SQL选项卡。SQL Server Compact是作为数据部署的,所以不需要。
  • 因为本教程需要做one-click发布,所以Web Deployment Package Settings 块的设置是不起作用的。

Package/Publish Web选项卡对于Test build配置大概就是如下的样子:

 

改变Configuration下拉菜单的值为Release,默认值和Release build配置是一样的。也要为Release选择上Exclude generated debug symbols设置。

3.  确保部署Elmah目录

上个章节,我们配置了的Elmah NuGet package 提供日志记录和报表功能,在Contoso University程序里,Elmah是把日志记录到了项目的Elmah文件夹下了。

 

部署的时候排除文件或文件夹都非常常见的,另外一个例子是上传用的文件夹。你肯定不想把测试环境产生的日志或者上传的文件都不熟到生产环境里去,另外,在部署升级的时候,肯定也不能把生产环境生产的日志或上传的文件都删除。(如果目标环境存在但是开发环境部存在,部署的时候需要删除它,那取决于你怎么设置)。

你如果设置Package/Publish Web选项卡的Items to deploy选项为Only Files Needed to run this application的话,那 Elmah在开发环境产生的日志文件就不会被部署。 (如果需要部署,那需要设置这些文件的项目Build Action属性为Content。更多信息可以访问ASP.NET Web Application Project Deployment FAQ里的"Why don't all of the files in my project folder get deployed?"章节)。不过,除非在Elmah文件里至少有一个文件,否则Web部署是不会把这个文件夹部署上去的。因此,需要添加一个简单的.txt文件进去,以便该文件夹可以部署上去。

Solution Explorer里,邮件Elmah文件夹,选项添加新项(Add New Item), 然后创建一个名字为Placeholder.txt的文件,里面内容写上:“This is a placeholder file to ensure that the folder gets deployed.”,然后保存。这就是所需要做的,因为 .txt文件默认的Build Action属性已经是Content了。

现在已经全部完成了部署配置了,下一章节你将会把Contoso University程序部署到测试环境并且进行测试。