BizTalk 2020 BTDF v5.8部署报MSB3073找不到导出设置文件错误
BizTalk 2020 BTDF部署MSB3073报错修复
问题场景
- 存在一套可正常编译、无编译报错的BizTalk 2020项目,已安装适配BizTalk 2020的Visual Studio 2019 BTDF插件,完成BTDF v5.8安装及部署项目配置,已导出全部所需部署设置,检索公开解决方案暂未找到有效修复方法。
- 项目为跨版本迁移项目:最初基于BizTalk 2006开发,经BizTalk 2010版本中转升级,最终迁移至BizTalk 2020运行。
- 执行部署操作时抛出错误,明确提示未找到导出设置文件。
核心报错日志
error MSB3073: The command ""C:\Program Files (x86)\Deployment Framework for BizTalk 5.8\Framework\DeployTools\xmlpreprocess.exe" /v /c /noDirectives /i:"C:\xxx\PortBindingsMaster.xml" /o:"C:\xxx\Deployment\PortBindings.xml" /d:CurDir="C:\xxx" /s:""" exited with code 1. [C:\xxx\Deployment\Deployment.btdfproj] Done Building Project "C:\xxx\Deployment\Deployment.btdfproj" (Deploy target(s)) — FAILED.
根因定位
报错命令末尾的/s:""参数为空是直接触发点:xmlpreprocess.exe的/s参数用于指定部署配置的设置文件路径,空值等价于未传入目标设置文件路径,程序无法读取配置值直接返回退出码1,触发MSB3073错误。该问题几乎都是跨版本迁移后配置项不匹配导致,不存在组件安装缺失问题。
修复步骤
- 打开项目下的
Deployment.btdfproj文件,定位SettingsFilePath属性节点,核对属性值是否匹配当前环境下导出的部署设置文件实际存放路径。跨版本迁移时如果调整过项目目录结构,老项目中配置的相对路径大概率失效,修正为当前正确的相对路径即可。 - 检查
PortBindingsMaster.xml文件兼容性:跨大版本迁移的绑定文件容易残留老版本BizTalk专属配置节点、老版本BTDF废弃的占位符指令,打开文件逐一核对,删除无效节点,确保所有配置占位符符合BTDF v5.8的语法规范,避免xmlpreprocess解析时静默失败。 - 手动执行校验:复制报错日志中的xmlpreprocess命令,手动补全
/s参数后的设置文件完整路径,在命令行中单独执行,根据程序返回的详细日志定位具体的文件权限、路径错误、格式异常问题。 - 如果以上操作无法解决问题,直接在Visual Studio中重新运行BTDF项目配置向导,基于当前BizTalk 2020、BTDF v5.8环境重新生成部署项目基础框架,再把原有自定义部署逻辑迁移到新生成的配置文件中,可规避绝大多数跨版本升级带来的配置兼容问题。
内容的提问来源于stack exchange,提问作者Ivan
相关产品推荐
相关产品推荐

