我正在使用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,但沒有找到?
Tim,你有什麼組件被部署到bin文件夾?你能提供清單嗎? –
我從一些開始,但最終複製到CRM 2015 SDK \ bin文件夾(34個文件)中的每個DLL中。我仔細檢查,他們都在我的function.json所在的\ bin文件夾下。我知道大多數DLL不需要用於簡單的Xrm應用程序,但Azure功能日誌不提供關於哪些DLL丟失的任何指示,因此我只是將它們全部複製。接下來我會嘗試使用Nuget,或許我會更好地運用這種方法。 –
我已經離開了週末,但我會使用CRM 2015 SDK進行一些測試,以瞭解這裏發生了什麼。有一個問題可以解釋這種行爲,但最近已經解決了。我會盡快發佈更新。 –