【发布时间】:2014-09-29 13:18:38
【问题描述】:
我的公司正在升级到 CRM 2013。我们有一个 2013 年的钻机和一个 2011 年的钻机。在此过程中,我更改了我的 Visual Studio 实例以使用 CRM 2013 SDK 开发工具包。
在此过程中,我(愚蠢地)认为该工具包将向后兼容以部署到 2011 年。或者至少抛出一个错误,让我降级我的工具包并继续。我错了。我尝试使用这两个版本的工具包进行部署,并从前端服务器上的 CRM 日志中提取出相同的错误:
System.IO.FileLoadException:无法加载文件或程序集 'Microsoft.Xrm.Sdk,版本=6.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。这 定位程序集的清单定义与程序集不匹配 参考。 (HRESULT 例外:0x80131040)文件名: 'Microsoft.Xrm.Sdk,版本=6.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35' 在 System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly 程序集, 字符串名称,布尔型 throwOnError,布尔型 ignoreCase, ObjectHandleOnStack 类型)在 System.Reflection.RuntimeAssembly.GetType(字符串名称,布尔值 throwOnError,布尔忽略大小写)在 Microsoft.Crm.Extensibility.PluginTypeFactory.LoadType(字符串 qualifiedTypeName,程序集程序集)
它正在寻找 Microsoft.Xrm.Sdk.dll 的 6.0.0.0 (2013) 版本!
- 我检查了我的项目中的项目引用 - 都指向版本 5.x
- 我已经检查了我的代码库中的所有 Microsoft.Xrm.Sdk.dll 文件 - 都是 5.x 版
- 我检查了前端框中的 web.config - 所有 crm dll 引用都是 5.x
- 我已经检查了前端框中的所有 *.config 文件 - 没有提到版本 6.0.0.0
我可以通过将版本 6.0.0.0 添加到 GAC 来部署它,但是插件失败(不出所料)说它无法将我的插件转换为类型 Microsot.Xrm.Sdk.IPlugin。
我们正在构建另一个前端服务器以查看它是否有效(我怀疑它应该)。有没有更简单的方法来解决这个问题?看起来 2013 Developer Toolkit 以某种方式破坏了 2011 前端服务器。
【问题讨论】:
标签: dynamics-crm-2011 dynamics-crm-2013