最近考虑做自动生成产品安装程序的流程,看看能否集成MS Build和Web 发布工具。在Web项目上,运行发布向导,执行配置,会在该项目的Properties\PublishProfiles目录下生成两个文件:{配置名称}.pubxml, {配置名称}.pubxml.user. 后一个文件是MSBuild的标准配置文件。
下面看了一下MS发布Web到底做了哪些事情。以发布到文件系统为例,主要步骤如下:
1. 验证基础配置信息
$(PackageAsSingleFile)为 True ...
2. 收集所有需要发布的文件
从项目项 @(IntermediateAssembly)中收集所有文件。正在添加:
从项目项 @(Content)中收集所有文件。正在添加:
从项目输出(IntermediateSatelliteAssembliesWithTargetPath)中收集所有文件。正在添加:
从项目项 @(ReferenceCopyLocalPaths,ReferenceComWrappersToCopyLocal,ResolvedIsolatedComModules,_DeploymentLooseManifestFile,NativeReferenceFile)中收集 所有文件。
从项目项 @(AllExtraReferenceFiles)中收集所有文件。正在添加:
从项目项 @(_binDeployableAssemblies)中收集所有文件。正在添加:
3. 执行Web.Config的转换。 如果发布的是配置是Debug, 则需要合并处理Web.Config 和Web.Debug.Config