vs2010,使用vs 2010的deployment package时需要注意的几个细节

最近的一个SOA项目使用vs2010+IIS7+AppFabric+SQLSERVER2008,其中部署的时候摒弃以前那种单独建立一个setup project,生成msi的做法,直接使用vs2010的deployment package的功能,这个结合microsoft web deploy(msdeploy)可以直接在vs中进行部署,与msbuild结合,可以支持命令行部署,在自动构建之后可以做到自动部署。而在手动部署的时候,也可以通过命令行部署,由于有msbuild的强大整合能力,因此,对一系列的服务部署,数据库部署,只需要一条命令或执行一个bat即可。
但是在使用的过程中,碰到了几个小的细节,导致在做部署的时候浪费了不少时间,总结一下,可能对大家有点用处。
1.Configuration问题。
在web项目的属性里,如果在Package/Publishi Web页里,进行部署相关的设置时,一定要注意configuration的问题。由于开发环境是debug模式,而部署环境是release模式,那么在做基于部署的设置时,一定要为release模式做设置。假如你设置了WEB项目部署的IIS路径,你只在debug模式下设置,而没有为release模式设置,那么部署的时候,你会发现你的设置没有起作用,原因就在这里。
2.Copy Local的问题。
使用Package/Publish Web的时候,你可以直接在项目上build deployment package,它会自动在project folder\obj\Debug\Package\{project name}.zip\Content\D_C\{project full path}\obj\Debug\Package\PackageTmp\下生成部署所需要的所有东西,其中Bin文件夹中是所有引用的的dll,记住,这些dll的Copy Local要设为true,否则,这些dll不会被拷贝到上面的Bin目录下,相当于构建的部署包依赖于dev的环境,一旦部署到服务器上的时候,这些dll没有,那么程序运行必将报错。
当然例如一些约定的程序集,属于全局共享的,放到GAC中的,而且在服务器上事先准备好了的,那么可以忽略,否则,一定要注意这个问题,因为程序一旦部署到服务器上,查错就不那么容易了,一些关键的dll缺失,你很难定位到真正的错误原因。
其他的,过后再加进来。
Tags:  vs2010教程 vs2010下载 vs2010

延伸阅读

最新评论

发表评论