MSBuild 3.5 扩展程序集:自定义任务、日志记录与工具任务的基础设施
Microsoft.Build.Utilities.v3.5.dll 是 .NET Framework 3.5 与 MSBuild 3.5 配套的程序集,属于 Microsoft.Build.Utilities 命名空间。它并不直接负责项目解析,而是为构建扩展提供公共基础设施,使第三方或企业内部可以编写可被 MSBuild 调用的任务、记录器和工具包装器。该程序集将任务执行上下文、日志输出、命令行拼接、构建项和属性访问等能力抽象成稳定的 API,降低扩展开发与构建引擎之间的耦合。
提供 Task 基类、ToolTask 抽象类、TaskItem、TaskPropertyInfo 等类型。自定义任务通过继承 Task 获得构建上下文、日志方法和属性/项访问能力;ToolTask 进一步封装外部进程调用、命令行参数生成、超时、退出码与错误流处理。
TaskLoggingHelper 提供 LogMessage、LogWarning、LogError、LogCommandLine 等方法,将任务运行信息接入 MSBuild 日志系统。它支持消息重要性、错误代码、文件与行号等元数据,使构建输出能被 Visual Studio、MSBuild 命令行和 CI 工具统一采集。
CommandLineBuilder 负责安全拼接参数、处理路径引号与转义;TaskItem、ITaskItem 用于表示 MSBuild 项,支持元数据读写;Task 还暴露 BuildEngine、HostObject 等属性,使扩展任务可以读取属性、执行子构建或与宿主交互。
优先安装或启用 .NET Framework 3.5 Windows 功能,修复对应版本的 Visual Studio 与 MSBuild/Build Tools。确认 DLL 位于应用目录、MSBuild 程序目录或 GAC 中,并保持版本一致。检查项目 UsingTask 的 AssemblyFile、任务类名和 HintPath 是否正确。对于持续集成节点,应统一镜像内的 .NET Framework 与构建工具版本,避免从其他机器复制单一 DLL 造成依赖链不完整。