【问题标题】:How to get the code of a Dynamics CRM online solution?如何获取 Dynamics CRM 在线解决方案的代码?
【发布时间】:2016-06-26 14:04:22
【问题描述】:

我的案例是下一个:我们有一个 Dynamics CRM online 2016,其中包含第三方创建的一些解决方案,我需要带来一个解决方案的完整代码,我需要查看所有插件、工作流和解决方案具有的 Javascript 文件。

我尝试在 Visual Studio 中创建一个新的 Dynamics CRM 项目,然后选择“New Visual Studio Solution for Dynamics CRM”。然后我连接到我们的 Dynamics CRM 服务器并选择了我想要的解决方案。问题是通过这些步骤只为我带来了解决方案的结构及其插件和工作流,但它并没有给我带来我真正想要的代码(插件和工作流代码)。我需要修改第三方公司已经完成的插件。

如果有人可以帮助我解决我的问题,我将不胜感激。我是社区的新手,任何建议都将不胜感激。

New Dynamics CRM project

【问题讨论】:

    标签: visual-studio dynamics-crm dynamic-programming dynamics-crm-2013 microsoft-dynamics


    【解决方案1】:

    插件被编译并作为 dll 存储在磁盘/数据库中。因此,除非您拥有源代码,否则无法实现您想要做的事情。

    如果它没有被混淆,你可以尝试使用 dotpeek 之类的反编译器来提取源代码。然后,您可以复制源代码并进行必要的更改、部署插件并禁用其他插件。

    【讨论】:

    • 为了替换程序集,签名必须相同,并且因为他没有源代码(.snk 文件)是不可能的。他当然可以创建全新的插件,卸载现有插件并用新插件替换它们。
    • 所以如果我想修改一个现有的代码并且我没有代码是不是没有办法修改它?如果我想在两个实例中比较一个插件以检查插件之间是否存在差异呢?
    • @GabyMarquez 没有办法修改你不拥有的插件,比较实例之间的代码唯一的方法是导出解决方案,提取它,你就可以访问到编译好的dll。如果解决方案是托管解决方案并且您没有该解决方案的副本,那么您将不走运,因为您无法导出托管解决方案。
    【解决方案2】:

    您是否考虑过联系第三方供应商?他们可能比尝试通过复杂的方法提取源代码却发现仍然需要几天才能正确理解他们的方法更好地处理您的问题。你会认为Occam's Razor 会在这里申请。

    【讨论】:

    • 托管或非托管解决方案在这种情况下没有区别
    • 你说得对,我删除了那部分。。我说的其余部分仍然有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多