BizTalk 部署框架缺少 Microsoft.BizTalk.Interop.SSOClient 版本 9.0.1000.0

BizTalk Deployment Framework missing Microsoft.BizTalk.Interop.SSOClient Version 9.0.1000.0

我在部署当前的 BizTalk 解决方案时遇到了一些问题。我刚刚接管了这个项目,似乎部署框架一直在工作到现在。一切都已设置,但是当我 运行 部署时出现此错误:

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk.0\BizTalkDeploymentFramework.targets(1727,5): error MSB4018: Unexpected Error on the UpdateSSOConfigItem-Task.

System.IO.FileNotFoundException: The File or Assembly "Microsoft.BizTalk.Interop.SSOClient, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" could not be found

运行宁C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk.0\BizTalkDeploymentFramework.targets(1727,5)

时发生错误

我猜它来自 SSOFileReader.dll(应该引用程序集?),事实上,GAC 中缺少该程序集。但是 QS 和 PROD 服务器似乎与 DEV 一样设置,它们也缺少程序集,但部署有效。

我对所有这些 BizTalk 东西都很陌生,还没有对部署框架做过任何事情,希望能得到一些帮助:)

我以前遇到过这个问题。在 SSOFileReader.dll 上使用 ILDASM 来确定它引用的 SSOClient 的确切版本。您的 DEV 服务器实例似乎指向版本 9.0.1000.0,但我怀疑 QS 和 PROD 中的 BTDF DLL 可能不同。

如果是这种情况,您应该能够将 DEV 计算机上的 SSOFileReader.dll 替换为引用早期版本 SSOClient 的副本。

还要检查所有机器上部署的 BTDF 版本。我知道你说它们看起来是一样的,但如果你通过文件系统而不是 Add/Remove 程序,5.5 和 6.0 版本看起来是一样的。

对于也面临此问题的任何人: 我的解决方案是完全重新配置部署项目并将部署框架更新到当前的稳定 (5.6) 版本。

  • 删除旧的部署框架
  • 更新到当前稳定版
  • 从您的解决方案中删除旧的 deplyoment 项目
  • 新建部署项目
  • 部署 -> 为我工作!

BizTalk 的部署框架针对许多版本的 BizTalk。在最近的几个 BizTalk Server 版本中,Microsoft 在每个版本中都更改了 SSO DLL。因此,部署框架包含多个版本的自己的 SSO 客户端 DLL (SSOSettingsFileReader) 以匹配各种 BizTalk DLL 版本。

安装部署框架时,它会检查当前安装的 BizTalk 版本并安装适用于该版本的 SSO DLL。如果您随后升级到另一个版本的 BizTalk,并且您没有重新安装部署框架,那么您将失去同步。这就是为什么重新安装解决了您的问题。