MSBuild发布网站

原创 2007年09月26日 16:23:00

因为用的是vwd,所以一直是用csc、vbc编译需加密的内容后手工发布网站,今天查了一下,可以用MSBuild手工发布整个网站(最终调用aspnet_compiler来完成),做个记号。

如果不希望发布时生成调试信息,请使用/p:Configuration=Release选项,或修改sln的Debug为 "False"。如果只需编译问题内容,可考虑vbc、csc。

MSBuild官方说明:http://msdn2.microsoft.com/zh-cn/library/ms171451(VS.80).aspx

下载最新的版本:
Build.Community.Tasks.msi - MSBuild Community Tasks Setup
MSBuild.Community.Tasks.v1.1.0.145.zip - MSBuild Community Tasks v1.1.0.145 Source

调试信息文件为pdb,有关说明如下:
请查询MSDN:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vsdebug/html/_core_The_..PDB_Files.htm

程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。当用 /ZI 或 /工Zi 编译 C/C++ 程序时或用 /debug 编译 Visual Basic/C#/JScript .NET 程序时将创建 PDB 文件。

在 Visual C++ 中,/Fd 选项用于命名由编译器创建的 PDB 文件。当在 Visual Studio 中使用向导创建项目时,/Fd 选项被设置为创建名为 project.PDB 的 PDB 文件。

如果使用生成文件创建 C/C++ 应用程序,并指定 /ZI 或 /Zi 而不指定 /Fd 时,则最终将生成两个 PDB 文件:

VC70.PDB (更笼统地说就是 VCx0.PDB,其中 x 表示 Visual C++ 的版本。)该文件存储各个 OBJ 文件的所有调试信息并与项目生成文件驻留在同一个目录中。
project.PDB 该文件存储 .exe 文件的所有调试信息。对于本机代码,它驻留在 /debug 子目录中。对于托管代码,它驻留在 /WINDEBUG 子目录中。
每当创建 OBJ 文件时,C/C++ 编译器都将调试信息合并到 VCx0.PBD 中。插入的信息包括类型信息,但不包括函数定义等符号信息。因此,即使每个源文件都包含公共头文件(如 <windows.h>),这些头文件中的 typedef 也只存储一次,而不是在每个 OBJ 文件中都存在。

链接器将创建 project.PDB,它包含项目的 EXE 文件的调试信息。project.PDB 包含完整的调试信息(包括函数原型),而不仅仅是 VCx0.PDB 中的类型信息。这两个 PDB 文件都允许增量更新。

Visual Studio 调试器使用由链接器直接创建的 project.PDB 文件并将此 PDB 的绝对路径嵌入到 EXE 或 DLL 文件中。如果调试器在该位置无法找到 PDB 文件或者如果路径无效(例如,如果项目被移动到了另一台计算机上),调试器将搜索包含 EXE 的路径,即在解决方案的“属性页”中指定的“符号路径”(“调试符号文件”页 ->“通用属性”文件夹)。调试器不会加载与所调试的二进制不匹配的 PDB。

 另:有人提到R2Build,没用过,先记下来。

MSBUILD发布WEB站点

SET Pash=D:/Source/trunk/GoSun.C3MSET IDEPath="D:/Program Files/Microsoft Visual Studio 10.0/Common7...
  • cshui918
  • cshui918
  • 2011年03月28日 16:25
  • 3444

用 MSBuild 发布 Asp.Net 工程

方法1:用调用MSBuild执行自定义的MSBuild脚本文件 第一步:创建MSBuild脚本文件,并将其复制到目标工程所在路径。 第二步:用MSBuild执行上述脚本文件。      [MS...
  • hchaoh
  • hchaoh
  • 2017年04月06日 15:51
  • 595

使用MSBUILD发布Web Application

VS Publish Web Application的功能很好用,能够直接预编译整个站点。对于Website, 可以在命令行下通过aspnet_compiler来进行预编译。但是对于Web Appli...
  • jianzhiying
  • jianzhiying
  • 2010年02月05日 16:26
  • 1941

用批处理来自动化项目编译及部署(附Demo)

阅读目录 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。 介绍 详细 处理 结论 Demo下载   介绍   ...
  • sinodzh
  • sinodzh
  • 2016年01月24日 15:27
  • 939

MSBuild发布网站

因为用的是vwd,所以一直是用csc、vbc编译需加密的内容后手工发布网站,今天查了一下,可以用MSBuild手工发布整个网站(最终调用aspnet_compiler来完成),做个记号。如果不希望发布...
  • nhconch
  • nhconch
  • 2007年09月26日 16:23
  • 3424

项目管理实践----自动编译和发布网站

在上一篇教程项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】 中,我们讲解了如何使用CCNET+MSBuild来自动编译项目...
  • lg831229
  • lg831229
  • 2013年03月31日 08:15
  • 915

解决应用MSBuild编译项目没有拷贝间接引用的dll题目

场景: 有工程A,B,C 工程
  • Linux7985
  • Linux7985
  • 2014年08月13日 17:11
  • 2572

MSBuild 基本用法示例

生成整个工程:msbuild .sln生成工程的中的项目:msbuild .sln /t:[, ...]以指定配置生成整个工程:msbuild .sln /p:Configuration={Debug...
  • icbm
  • icbm
  • 2017年02月07日 23:41
  • 717

项目管理实践【五】自动编译和发布网站【Using Visual Studio with Source Control System to build and publish website autom

在上一篇教程项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】 中,我们讲解了如何使用CCNET+MSBuild来自动编译项目...
  • gebitan505
  • gebitan505
  • 2013年11月12日 13:34
  • 1644

Jenkins搭建.NET自动编译测试与发布环境

操作系统Windows, http://jenkins-ci.org/下载Windows安装包。安装后,访问http://localhost:8080 . Jenkins => Manager Jen...
  • wangjia184
  • wangjia184
  • 2014年01月20日 17:42
  • 33050
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MSBuild发布网站
举报原因:
原因补充:

(最多只允许输入30个字)