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 各版本下载