2016-04-08 27 views
0

我正在使用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,但没有找到?

+0

Tim,你有什么组件被部署到bin文件夹?你能提供清单吗? –

+0

我从一些开始,但最终复制到CRM 2015 SDK \ bin文件夹(34个文件)中的每个DLL中。我仔细检查,他们都在我的function.json所在的\ bin文件夹下。我知道大多数DLL不需要用于简单的Xrm应用程序,但Azure功能日志不提供关于哪些DLL丢失的任何指示,因此我只是将它们全部复制。接下来我会尝试使用Nuget,或许我会更好地运用这种方法。 –

+0

我已经离开了周末,但我会使用CRM 2015 SDK进行一些测试,以了解这里发生了什么。有一个问题可以解释这种行为,但最近已经解决了。我会尽快发布更新。 –

回答

2

添,

今天正式上线的最新部署包含修订来解决你遇到了这个问题。请再试一次(如果您的功能正在运行,您可能需要重新启动您的站点以获取最新版本),并让我知道您是否有任何问题。

再次感谢您的举报!我期待着看到你将与函数和Dynamics CRM结合在一起。

+0

成功!测试脚本(几乎是我最初发布的)起作用 - 它返回结果查询中第一个CRM帐户的名称。 非常感谢法比奥通过此跟进。 我的思绪现在充满了功能和CRM的所有可能性。我会把几个样品放在一起,很快拿出来。而且微软也应该对此进行博客,并确保CRM团队知道这一点。 干杯! –

相关问题