Azure Functions DocumentClient не удалось загрузить тип из исключения сборки

#c# #azure #azure-functions #azure-cosmosdb #.net-standard-2.0

#c# #azure #azure-функции #azure-cosmosdb #.net-standard-2.0

Вопрос:

У меня есть Azure Function v2, которая вызывает служебную библиотеку, которая, в свою очередь, создает экземпляр DocumentClient . При локальном запуске моей функции она выдает исключение в этой строке:

 _client = new DocumentClient(new Uri(cosmosDbEndpoint), cosmosDbAuthKey, Storage.SerializerSettings, connectionPolicy);
  

Система.Частное.CoreLib: Исключение при выполнении функции: ComponentDesignInserter-Http-UploadFiles. Майкрософт.Azure.Документы.Клиент: Не удалось загрузить тип ‘System.Диагностика.Событие.EventProviderTraceListener’из системы assembly’.Ядро, версия = 4.0.0.0, Культура = нейтральная, PublicKeyToken =b77a5c561934e089′.

Моей библиотекой утилит является .NET Framework 4.7. Мой проект Azure Function v2 является .NET Standard 2.0. Это проблема?

Или это признак какой-то зависимости, которую мне нужно установить в проекте Azure Function v2? Зависимость, которая есть в библиотеке утилит, но отсутствует в проекте Azure Function v2?

Комментарии:

1. У вас не должно быть ссылки на проект .NET Standard Project на проект .NET Framework.

Ответ №1:

Как вы упомянули, проблема в том, что вы используете библиотеку NET Framework 4.7 из проекта NET Standard 2.0.

Убедитесь, что в вашей библиотеке NET 4.7 используется пакет SDK Cosmos DB Core SDK:https://www.nuget.org/packages/Microsoft .Azure.DocumentDB.Core/

Не полный пакет NET Framework (https://www.nuget.org/packages/Microsoft .Azure.DocumentDB).

В вашем проекте Azure Functions V2 вам также необходимо использовать тот же nuget (ядро). Если вы используете Microsoft.Azure.WebJobs.Расширения.Пакет CosmosDB уже включен.

Комментарии:

1. Это сработало, спасибо! У меня было одно .NET Core и одно приложение .NET Framework, а затем я перешел на Microsoft. Azure. DocumentDB. Ядро в проекте .NET Framework, и оно начало работать.

2. В моем случае у меня есть другие пакеты, которые зависят от полной платформы, например BulkExecutor. Что я мог сделать?

3. Вы можете использовать предварительные версии Bulk Executor или использовать новую массовую поддержку в V3 SDK devblogs.microsoft.com/cosmosdb /…