插件不参与CRM 2011的参考

时间:2011-07-12 10:40:19

标签: c# crm dynamics-crm-2011

我创建了一个插件并使用了对我创建的另一个项目(DLL)的引用。问题是当我尝试运行插件时,我收到CRM错误说:

  

无法加载文件或程序集“XXX,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = a760feb9ec7271a9”或其中一个依赖项。系统找不到指定的文件。

有没有人知道解决这个问题?

4 个答案:

答案 0 :(得分:10)

您必须将引用的程序集部署到GAC或将其与您的程序集合(使用ILMerge)

另请参阅http://msdn.microsoft.com/en-us/library/gg309620.aspxCreating a single CRM plugin DLL to store in the CRM database

答案 1 :(得分:4)

我在这里有一篇关于如何将其全部放入1个DLL 而不是 ILMerge的博客文章: All References within CRM2011 plugin。自从我们开始这样做以来,我们还没有一个dll问题。

注意,此方法排除了沙盒模式的使用(即,如果您需要使用插件在Dynamics CRM Online中工作,则无法使用此方法。)

答案 2 :(得分:2)

在过去的6个月里我们曾多次出现过这个错误,尽管我或其他开发人员发誓不会出现这种情况,但事实并非如此,它已经证明是DLL版本的问题。

您是否正在将插件安装到磁盘,数据库或GAC?

如果安装到GAC,我相信外部DLL也会进入GAC。 如果安装到数据库或磁盘,我相信DLL会进入\ assembly \ bin文件夹。

答案 3 :(得分:0)

有时反病毒会阻止ASP.NET访问文件或程序集,我建议您尝试使用强名称对程序集进行签名并将其添加到GAC:在这里您可以找到更多信息http://support.microsoft.com/kb/815808