我在CRM.
创建了一个插件,已成功注册。在我的插件中,我创建了一个包含许多功能的Web服务。
成功调用插件步骤后,我收到错误 -
System.IO.FileNotFoundException:无法加载文件或程序集'Microsoft.Xrm.Client,Version = 5.0.9689.2166,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。该系统找不到指定的文件。 为了解决这个问题,我从crmsvcutil.exe创建了新的XRM.cs文件,但是遇到了同样的问题。搜索了更多相关信息,但尚未找到解决方案。
注意:我使用的是Microsoft托管的CRM版本
下面是我正在使用的参考文件。
有没有办法在托管版CRM上运行我的插件???
感谢是否有任何帮助:)
答案 0 :(得分:4)
我已使用此命令解决了此问题。
CrmSvcUtil.exe /out:"Xrm.cs"
/url:http://crm/Contoso/XRMServices/2011/Organization.svc
/namespace:Xrm
/servicecontextname:XrmServiceContext
/servicecontextprefix:Xrm
删除代码自定义选项解决了我的问题。
/codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration"
答案 1 :(得分:0)
插件不需要Microsoft.XRM.Client
需要从外部应用程序连接到CRM
自CRM 2016以来,已从SDK中删除了Microsoft.XRM.Client 。
插件不会自动解决项目中的依赖项,它们必须已经在服务器上。
如果插件需要,可以将Microsoft.XRM.Client放在GAC中。
Dynamics CRM 2015更新
NuGet包Microsoft.CrmSdk.Extensions包含Microsoft.Xrm.Client。
Dynamics CRM 2016和Dynamics 365的更新
Microsoft.Xrm.Client不再是SDK的一部分
NuGet包Microsoft.CrmSdk.CoreAssemblies包含插件开发所需的一切。
Dynamics CRM SDK are in NuGet的各个部分 与添加Dynamics CRM dll作为项目引用相比,NuGet是一个更好的解决方案;特别是对于源代码控制和团队开发。
答案 2 :(得分:0)
如果从GAC运行,Microsoft.Xrm.Client.dll实际上似乎无法正常工作。这是因为它有一些狡猾的类型解析方法,只有在本地加载程序集时才有效。我在这里提出了一个有关详细信息的问题:https://community.dynamics.com/crm/f/117/t/144464.aspx