为什么我的Azure函数找不到Microsoft.Xrm.Sdk程序集依赖项?
我正在使用Azure函数,并且想要编写读取/写入Dynamics CRM Online的代码。根据Microsoft的文档,我将CRM 2015 SDK DLL(全部)添加到了function.json文件所在位置的bin文件夹中。为什么我的Azure函数找不到Microsoft.Xrm.Sdk程序集依赖项?
函数编译得很好。
当运行功能我得到这个错误:
异常而执行功能: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;[email protected]; 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,但没有找到?
添,
今天正式上线的最新部署包含修订来解决你遇到了这个问题。请再试一次(如果您的功能正在运行,您可能需要重新启动您的站点以获取最新版本),并让我知道您是否有任何问题。
再次感谢您的举报!我期待着看到你将与函数和Dynamics CRM结合在一起。
成功!测试脚本(几乎是我最初发布的)起作用 - 它返回结果查询中第一个CRM帐户的名称。 非常感谢法比奥通过此跟进。 我的思绪现在充满了功能和CRM的所有可能性。我会把几个样品放在一起,很快拿出来。而且微软也应该对此进行博客,并确保CRM团队知道这一点。 干杯! –
Tim,你有什么组件被部署到bin文件夹?你能提供清单吗? –
我从一些开始,但最终复制到CRM 2015 SDK \ bin文件夹(34个文件)中的每个DLL中。我仔细检查,他们都在我的function.json所在的\ bin文件夹下。我知道大多数DLL不需要用于简单的Xrm应用程序,但Azure功能日志不提供关于哪些DLL丢失的任何指示,因此我只是将它们全部复制。接下来我会尝试使用Nuget,或许我会更好地运用这种方法。 –
我已经离开了周末,但我会使用CRM 2015 SDK进行一些测试,以了解这里发生了什么。有一个问题可以解释这种行为,但最近已经解决了。我会尽快发布更新。 –