0

我在部署、导出和导入到另一个盒子时遇到运行时异常...... CRM 解决方案。例外是:

System.TypeLoadException: Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

它仅在我使用 MSBUILD 脚本执行此操作时发生。当我手动使用 VS (2010) 执行此操作时,一切都很好。所以,第一个嫌疑人是我的剧本。我的脚本使用 MSBUILD 自定义任务,灵感来自http://fczaja.blogspot.com/2012/07/continuous-integration-with-crm.html

我的感觉是问题可能出在 Export 步骤上 - 它使用Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy, up-cast to IOrganizationService.Execute, 传递一个ExportSolutionRequest对象。我们只设置SolutionNameManaged属性。也许我们错过了另一个财产?

我试图缩小它的根本原因。

4

1 回答 1

2

您是否有机会在插件程序集中使用 ILMerge?

如果是这样,我怀疑这是您的参考程序集的问题,可能在构建服务器上有.NET 4.5,但在您手动构建它的机器上没有。

如果确实如此,这些链接将进一步解释:http: //www.mattwrock.com/post/2012/02/29/What-you-should-know-about-running-ILMerge-on-Net-45- Beta-assemblies-targeting-Net-40.aspx

根本的解决方法是将您的 ILMerge 参考程序集更改为 -/targetplatform:"v4,C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0"

于 2013-01-28T08:39:36.840 回答