2016-04-08 2 views
0

Я использую Azure Functions и хочу написать код, который читает/записывает в Dynamics CRM Online. Я добавил DLL CRM 2015 SDK (все из них) в папку bin, в которой файл functions.json находится в документации Microsoft.Почему моя 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

Тим, какие сборки вы развернули в папку bin? Можете ли вы предоставить список? –

+0

Я начал с нескольких, но закончил копирование в каждой DLL, находящейся в папке SDK \ bin CRM 2015 (34 файла). Я дважды проверял, и все они находятся в папке \ bin, где находится моя функция.json. Я знаю, что большинство DLL не нужны для простого Xrm-приложения, но журналы Azure Function не предоставляют никаких указаний о том, какие DLL-файлы отсутствуют, поэтому я просто скопировал их все. Я попробую использовать Nuget с функцией next, может быть, мне повезет с этим подходом. –

+0

Я отсутствовал на выходные, но я проведу некоторые тесты, используя CRM 2015 SDK, чтобы посмотреть, что здесь происходит. Возникла проблема, которая объяснила бы это поведение, но она была недавно рассмотрена. Я опубликую обновление как можно скорее. –

ответ

2

Тим,

Последние развертывания, которые пошли жить сегодня, содержит исправление для решения этой проблемы вы врезался в. Повторите попытку (возможно, вам придется перезагрузить свой сайт, чтобы получить последнюю версию, если у вас есть функции), и дайте мне знать, если у вас возникнут проблемы.

Еще раз спасибо за сообщение об этом! Я с нетерпением жду встречи с функциями и Dynamics CRM.

+0

Успех! Сценарий тестирования (почти то, что я написал первоначально) работает - он возвращает имя первой учетной записи CRM в результирующем запросе. Огромное спасибо Фабио за продолжение этого. Мой разум сейчас жужжит всеми возможностями с функциями и CRM. Я соберу несколько образцов и выберу их в ближайшее время.И Microsoft также должна вести блог об этом и убедиться, что команда CRM знает об этом. Приветствия! –