You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决XRMToolKit连接本地组织时的pluginassembly重复定义错误?

解决XRMToolkit 7.3.4.0连接Dynamics CRM时的程序集冲突错误

问题描述

使用XRMToolkit 7.3.4.0连接本地Dynamics CRM组织时连接失败,错误日志显示代理类型名称冲突:

System.Exception: Failed to Executed Command - WhoAmIRequest : RequestId=xxx : total duration: 00:00:02.3729929
Failed to Executed Command - WhoAmIRequest : RequestId=xxx : total duration: 00:00:02.3729929************ Exception - Failed to lookup current user
A proxy type with the name pluginassembly has been defined by another assembly. Current type: XrmToolkit.Crm.ProxyClasses.PlugInAssembly, XrmToolkit.Crm.Proxies, Version=7.3.4.0, Culture=neutral, PublicKeyToken=null, Existing type: CrmSdk.PluginAssembly, CrmLibraries, Version=9.0.0.0, Culture=neutral, PublicKeyToken=xxx
Parameter name: pluginassemblyUnable to connect to CRM: A proxy type with the name pluginassembly has been defined by another assembly. Current type: XrmToolkit.Crm.ProxyClasses.PlugInAssembly, XrmToolkit.Crm.Proxies, Version=7.3.4.0, Culture=neutral, PublicKeyToken=null, Existing type: CrmSdk.PluginAssembly, CrmLibraries, Version=9.0.0.0, Culture=neutral, PublicKeyToken=xxx
Parameter name: pluginassembly
A proxy type with the name pluginassembly has been defined by another assembly. Current type: XrmToolkit.Crm.ProxyClasses.PlugInAssembly, XrmToolkit.Crm.Proxies, Version=7.3.4.0, Culture=neutral, PublicKeyToken=null, Existing type: CrmSdk.PluginAssembly, CrmLibraries, Version=9.0.0.0, Culture=neutral, PublicKeyToken=xxx
Parameter name: pluginassemblyUnable to Login to Dynamics CRM
Unable to Login to Dynamics CRM
   at XrmToolkit.Crm.Extensions.ConnectionInfoExtensions.<>c__DisplayClass0_0.<<GetCrmServiceClientAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at XrmToolkit.Crm.Extensions.ConnectionInfoExtensions.<GetCrmServiceClientAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at XrmToolkit.UI.Wpf.Forms.ConnectToOrganization.<ConnectAsync>d__21.MoveNext()

已尝试卸载重装XRMToolkit,但问题未解决。

错误原因

本地环境中同时存在两个定义了pluginassembly代理类型的程序集:

  • XRMToolkit自带的XrmToolkit.Crm.Proxies, Version=7.3.4.0
  • 第三方程序集CrmLibraries, Version=9.0.0.0
    XRMToolkit初始化时无法确定使用哪个类型,导致连接失败。

解决步骤

  • 清理全局程序集缓存(GAC)

    1. 以管理员身份打开命令提示符
    2. 执行命令移除冲突的程序集:
      gacutil /u CrmLibraries,Version=9.0.0.0,Culture=neutral,PublicKeyToken=xxx
      
      (将命令中的xxx替换为日志里的公钥令牌)
    3. 清理完成后重启电脑,再尝试连接
  • 检查XRMToolkit安装目录

    1. 找到XRMToolkit的安装路径(默认路径:C:\Program Files (x86)\XrmToolkit)
    2. 检查目录下是否存在CrmLibraries.dll,若存在直接删除该文件,重启XRMToolkit后重试
  • 排查本地开发环境残留依赖

    1. 检查Visual Studio项目中是否引用了CrmLibraries.dll,确保引用该程序集的项目未在后台运行,或临时移除引用后再启动XRMToolkit
    2. 检查系统PATH环境变量,若包含CrmLibraries.dll所在目录,临时移除该路径后重启工具
  • 使用干净用户配置测试
    创建新的Windows本地用户,登录后安装XRMToolkit并尝试连接,排除当前用户配置文件中残留的程序集缓存问题

内容的提问来源于stack exchange,提问作者L-Ebarb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:40:17