问题: 我们使用CRM插件注册工具来更新之前工作正常的程序集。然后我们开始
Could not load file or assembly "Project 1 version ....Culture.. PublicKeyToken..."
详细信息:在同一解决方案中引用另一个项目的程序集项目:
通过比较工作程序集与抛出错误的新程序集(使用dotPeek工具查看dll内容)来深入研究导致该错误的问题后,我们发现了 Project 1 存在于两个集会中。
问:如何在代码/ VS中实现与工作装配相同的行为?
如果有这个帮助: 我们使用Dynamic CRM 2016内部部署,iLMerge,Visual Studio 2015
注意:
我们无法从数据库更改为磁盘或GAC,因为有大量的插件和步骤
我们将程序集部署到CRM中:Non-Sandbox&数据库
答案 0 :(得分:0)
忘记旧开发者的东西。你在做什么是完美的。这是我的建议。
忘记旧的开发人员。
在插件注册工具中,取消注册旧的程序集(其中单个dll在单个命名空间下同时具有Project 1& 2)
你在做什么是完美的。
在项目2中执行项目1 dll的添加引用
ILMERGE&在PRT注册这个新的组件。
无需改变任何其他内容。
您可能必须follow my answer进行特技拍摄以避免重新注册步骤。
答案 1 :(得分:0)
您需要ILMERGE将您需要的不同dll合并为一个并将该程序集部署到CRM中。
我们通常会设置一个post build事件的powershell脚本,它会在构建完所有dll后直接合并为一个。