【问题标题】:What are the existing build targets for MSBuild?MSBuild 的现有构建目标是什么?
【发布时间】:2019-08-30 00:42:21
【问题描述】:

MSBuild 允许您使用-target:<build-target> 指定构建目标,例如BuildClean(例如:MSBuild.exe -target:Clean)。

当然,开发人员可以使用.targets xml 文件定义自己的目标。

但是,某些目标(例如 BuildClean)是 Microsoft 预定义的。

所有 .NET 语言通用的所有默认预定义构建目标的列表是什么?

【问题讨论】:

  • 好提示!那么默认的 BeforeBuild 和 AfterBuild 目标实际上什么都不做,除非我们覆盖它们?
  • 正确。 BeforeBuild 定义为 <Target Name="BeforeBuild"/>AfterBuild 定义为 <Target Name="AfterBuild"/>。它们只是空的 xml 元素。

标签: visual-studio msbuild


【解决方案1】:

所有 .NET 语言通用的标准构建目标在 Microsoft.Common.CurrentVersion.targets 中定义。

这是构建目标的完整列表:

  • 构建
  • 重建
  • 干净
  • 运行
  • 发布
  • 仅发布
  • 解析引用
  • 解决项目引用
  • 解决AssemblyReferences
  • 生成绑定重定向
  • 准备资源
  • ResGen
  • 编译
  • 生成清单
  • 准备运行
  • CopyFilesToOutputDirectory
  • CoreBuild
  • BuildGenerateSources
  • 编译编译
  • 构建链接
  • 复制运行环境文件
  • BuildOnlySettings
  • PrepareForBuild
  • GetFrameworkPaths
  • GetReferenceAssemblyPaths
  • 分配链接元数据
  • PreBuildEvent
  • UnmanagedUnregistration
  • GetTargetFrameworkVersion
  • 分配项目配置
  • 获取目标路径
  • GetTargetPathWithTargetPlatformMoniker
  • GetNativeManifest
  • 解决NativeReferences
  • 生成绑定重定向
  • GenerateBindingRedirectsUpdateAppConfig
  • 解决SDKReferences
  • 查找InvalidProjectReferences
  • 扩展SDK参考
  • 导出WindowsMDFile
  • DesignTimeResolveAssemblyReferences
  • 解决ComReferences
  • 准备资源名称
  • 分配目标路径
  • GetItemTargetPaths
  • 按文化划分资源
  • CreateCustomManifestResourceNames
  • 解析密钥源
  • GenerateTargetFrameworkMonikerAttribute
  • 生成其他来源
  • 生成序列化程序集
  • 创建SatelliteAssemblies
  • 生成卫星组件
  • ComputeIntermediateSatelliteAssemblies
  • SetWin32ManifestProperties
  • 生成应用程序清单
  • 生成部署清单
  • GetCopyToOutputDirectoryItems
  • 非托管注册
  • 增量清理
  • CleanReferencedProjects
  • CleanPublishFolder
  • 构建后事件
  • SetGenerateManifests
  • 发布构建
  • 所有项目输出组
  • 构建项目输出组
  • DebugSymbolsProjectOutputGroup
  • DocumentationProjectOutputGroup
  • SatelliteDllsProjectOutputGroup
  • SourceFilesProjectOutputGroup
  • ContentFilesProjectOutputGroup
  • SGenFilesOutputGroup
  • GetResolvedSDKReferences
  • PriFilesOutputGroup
  • SDKRedistOutputGroup
  • GetInstalledSDKs
  • 恢复
  • 构建之前
  • 构建后
  • 重建前
  • 重建后
  • BeforeResolveReferences
  • AfterResolveReferences
  • ResGen 之前
  • AfterResGen
  • 编译前
  • 编译后
  • 清理前
  • 后清洁
  • 发布前
  • 发布后

BeforeAfter 为前缀的目标旨在在项目中被覆盖。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-21
  • 2017-10-25
相关资源
最近更新 更多