【问题标题】:Why can't my Azure Function find Microsoft.Xrm.Sdk assembly dependencies?为什么我的 Azure Function 找不到 Microsoft.Xrm.Sdk 程序集依赖项?
【发布时间】:2016-04-08 16:29:54
【问题描述】:

我正在使用 Azure Functions,并且想要编写读取/写入 Dynamics CRM Online 的代码。根据 Microsoft 的文档,我将 CRM 2015 SDK DLL(全部)添加到了 function.json 文件所在的 bin 文件夹中。

函数编译正常。

运行该函数时出现此错误:

执行函数时出现异常:Functions.CrmTest1。 mscorlib:调用的目标已引发异常。无法加载文件或程序集 'Microsoft.Xrm.Sdk, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。系统找不到指定的文件。

这是函数体(只是一个小测试样本):

#r "Microsoft.Xrm.Sdk.dll"  
#r "Microsoft.Xrm.Client.dll"

using System;
using Microsoft.Xrm.Sdk; 
using Microsoft.Xrm.Sdk.Query;
using Microsoft.Xrm.Client;
using Microsoft.Xrm.Client.Services;

public static void Run(string input, TraceWriter log)
{
    var connectionString = "AuthType=Office365;Username=me@contoso.com; Password=MyPassword;Url=https://contoso.crm.dynamics.com";
    CrmConnection connection = CrmConnection.Parse (connectionString);
    using ( OrganizationService orgService = new OrganizationService(connection))
    { 
        var query = new QueryExpression("account");
        query.ColumnSet.AddColumns("name");
        var ec = orgService.RetrieveMultiple(query);
        log.Verbose(ec[0].GetAttributeValue<string>("name"));
    }
}

日志文件中没有指示找不到所需的程序集。

让这个工作我错过了什么?如何找出需要但没有找到的 DLL?

【问题讨论】:

  • Tim,您将哪些程序集部署到 bin 文件夹中?你能提供清单吗?
  • 我从几个开始,但最终复制到了 CRM 2015 SDK \bin 文件夹(34 个文件)中的每个 DLL。我仔细检查了一下,它们都在我的 function.json 所在的 \bin 文件夹中。我知道一个简单的 Xrm 应用程序不需要大多数 DLL,但是 Azure 函数日志没有提供任何关于缺少哪些 DLL 的指示,所以我只是将它们全部复制了。接下来我将尝试将 Nuget 与该函数一起使用,也许我会用这种方法获得更好的运气。
  • 我周末离开了,但我将使用 CRM 2015 SDK 运行一些测试,看看这里发生了什么。有一个问题可以解释这种行为,但最近已得到解决。我会尽快发布更新。
  • 感谢您查看此 Fabio。让它发挥作用对于 Dynamics CRM 客户来说将是一个巨大的胜利。大多数与我合作的 CRM Online 客户最终都需要一次性和重复的数据清理、计划操作等。Azure Functions 非常适合这些不需要完整 WebJob 的快速、轻量级系统更新,工人角色等
  • 我今天能够重现这个问题,并发现了一个小缺陷,不幸的是,它影响了间接私有依赖解决方案。我对此进行了修复,并在部署后更新答案。感谢您的报告!

标签: azure azure-functions


【解决方案1】:

蒂姆,

今天上线的最新部署包含解决您遇到的问题的修复程序。请再试一次(如果您有功能正在运行,您可能需要重新启动您的网站以获取最新版本),如果您有任何问题,请告诉我。

再次感谢您报告此问题!我期待看到您将如何使用 Functions 和 Dynamics CRM。

【讨论】:

  • 成功!测试脚本(几乎是我最初发布的)有效——它在结果查询中返回第一个 CRM 帐户的名称。非常感谢法比奥跟进此事。现在,我的脑海中充满了 Functions 和 CRM 的所有可能性。我会整理一些样品并尽快拿出来。微软也应该就此发表博客,并确保 CRM 团队知道这一点。干杯!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-17
相关资源
最近更新 更多