VS 2005 Web Deployment Projects主页(英文)
VS 2005 Web Deployment Projects下载
最近需要用ASP.Net 2作开发,而且需要做成msi四处分发,于是在VS05中创建了一个实验性Web项目。ASP.Net 2的新特性让人很兴奋,但是VS05内置的Web部署方式实在让人头痛。
首先,尝试创建一个Web部署项目。在文件系统中添加项目输出,竟然只能添加内容文件(汗)。生成Web部署项目时,竟然不对Web项目进行编译,将源文件直接打包(看傻了O_O),这种方式被否定了。
然后,尝试"复制网站"功能。复制网站功能是用于将Web项目部署到远程服务器的,可以选择文件系统、本地IIS、FTP站点、远程站点四种途径将Web项目部署到远程服务器。不能做成msi,四处分发可行性为0,放弃。
最后,尝试"发布网站"功能。发布网站功能看起来和"复制网站"功能很相似,不过这东西可以将网站代码进行编译,看起来舒服多了,也许可以在这个编译结果上在用Web部署项目做msi。但又一个令人头痛的事情出现了,发布网站功能编译结果中的dll文件每次的文件名都不相同(汗),制作msi还是很麻烦的,放弃。
无路可走的情况下,只能在Msdn中四处搜索,最终发现了Web Deployment Projects这个东东,感觉像救命稻草。
- 下载、安装Web Deployment Projects插件。
下载地址:VS 2005 Web Deployment Projects下载
这东西就是个msi,919K,直接安装就OK了。记得装的时候把VS关了。
-
创建Web Deployment项目
- 打开Web项目所在的解决方案,右键点击Web项目,选择"Add Web Deployment Project…"
- 在弹出的对话框中设置Web Deployment Project的名称(假设这里设置的是Web_Deploy),点击"OK"按钮,Web Deployment Projects会自动在解决方案中添加部署项目。
-
配置Web Deployment项目
- 右键点击Web_Deploy项目,选择"属性页",可以根据自己的需要自行设定。如果仅仅是简单的部署,其默认设置就已经Ok了。
-
右键点击Web_Deploy项目,选择"Open Project File"打开部署项目文件,在这里可以添加BeforeBuild、BeforeMerge、AfterMerge、AfterBuild等事件的处理方法。例如:
- 在生成后创建文件夹:
<Target Name="AfterBuild"> <MakeDir Directories="$(TargetDir)\Upload" /> </Target> |
- 排除某个文件夹中的测试页面
<ItemGroup> <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\Test\**\*.*"/> </ItemGroup> |
- 右键点击Web_Deploy项目,选择"生成"。在输出窗口中,我们可以看到生成过程调用了aspnet_compiler.exe对网站进行编译。
- 打开生成目录,默认情况是Web_Deploy项目所在目录中的Debug目录。目录中包含.aspx文件、.config文件,bin目录中有编译结果,其中不包含源代码,而且编译后的dll文件名没有每次变更的后缀,目的达到了。
-
创建Web部署项目
- 创建Web部署项目(假设命名为Web.Setup)。
- 将Web_Deploy项目生成的文件添加到Web.Setup项目的文件系统中。
- 对Web.Setup项目做些必要的设置,当然,我是做实验的,所以就保持默认设置了。
- 生成Web.Setup项目
-
完成
- 安装msi,OK了。