VS2005发布网站时不会像VS2003一样生成规则的DLL文件、而生成的DLL文件名含有随机数且不能一个项目生成一个DLL文件、让人有一些遗憾、为了做到像vs2003一样,微软发布了WebDeployment Project插件可解决此问题:
下载地址
1、下载后安装、右键选择vs2005中的项目、会出现一个选项"Add Web Deployment Project"
([url]http://www.cnblogs.com/chy710[/url])2、选择添加一个WebDeployment Project(输入程序集名称和发布地址)
3、此时解决方案中会多出一个项目
([url]http://www.cnblogs.com/chy710[/url])4、右键选择该项目设置相应属性
5、右键选择该项目选择“生成”、此时会发布网站到指定的目录、生成DLL文件同vs2003一样、更新时只需上传DLL文件
([url]http://www.cnblogs.com/chy710[/url])
我运行发现这个错,
错误 1 “aspnet_merge.exe”已退出,代码为 1。 C:"Program Files"MSBuild"Microsoft"WebDeployment"v8.0"Microsoft.WebDeployment.targets 574 9 DaishuSite
后来网上查了下。是类存在同名的缘故。
将VS 2005的工具-选项-项目和解决方案-生成并运行,设置“MSBuild 项目生成输出详细信息”,选择“详细”。再次生成Web Deployment Projects项目,“输出”框内的信息就变得非常丰富了;这样就可以查看哪里出错了
-------------------------------------------------------------------
创建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 Deployment Projects 各版本下载
web deployment对统一编译网页程序体验非常好。可以把众多dll合成一个。下面是个版本下载地址:
vs2005版的:http://download.microsoft.com/download/c/c/b/ccb4877f-55f7-4478-8f16-e41886607a0e/WebDeploymentSetup.msi
vs2008版的:http://www.microsoft.com/downloads/details.aspx?familyId=0AA30AE8-C73B-4BDD-BB1B-FE697256C459&displaylang=en
vs2010版的:http://www.microsoft.com/downloads/details.aspx?FamilyID=711a2eef-b107-4784-9063-c978edc498cd&displaylang=en BETA1
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=89f2c4f5-5d3a-49b6-bcad-f776c6edfa63&displaylang=en RTW(正式版)
另外IIS项目组也推出了web发布工具,称为:Web Deploy,地址:http://www.iis.net/download/webdeploy
还没用过,不知道跟上面的工具有什么区别。
林剑锋补充说明:使用web deployment工具,最头疼的就是直接把页面复制、改名的站点程序了,命名空间的混乱会浪费编译调试很多时间。