MSBuild发布网站

本文介绍了如何使用MSBuild工具手工发布整个网站,它会调用aspnet_compiler来完成发布过程。同时,文章提及了在发布时关闭调试信息的设置方法,并详细解析了程序数据库(PDB)文件的作用和生成机制。此外,还提到了C/C++编译器的/ZI和/Zi选项,以及Visual Studio调试器如何查找和使用PDB文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为用的是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,没用过,先记下来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值