c# - Azure Functions DocumentClient 无法从程序集异常加载类型

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

我有一个 Azure Function v2,它调用一个实用程序库,该库又实例化一个 DocumentClient。当在本地运行我的函数时,它会在此行引发异常:

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

System.Private.CoreLib: Exception while executing function: ComponentDesignInserter-Http-UploadFiles. Microsoft.Azure.Documents.Client: Could not load type 'System.Diagnostics.Eventing.EventProviderTraceListener' from assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

我的实用程序库是.NET Framework 4.7。我的 Azure Function v2 项目是 .NET Standard 2.0。这是一个问题吗?

或者这是否是我需要在 Azure Function v2 项目中安装的某些依赖项的症状?实用程序库具有但 Azure Function v2 项目没有的依赖项?

最佳答案

正如您所提到的,问题是您正在使用 NET Standard 2.0 项目中的 NET Framework 4.7 库。

确保在 NET 4.7 库中使用 Cosmos DB Core SDK:https://www.nuget.org/packages/Microsoft.Azure.DocumentDB.Core/

不是 NET 完整框架包 ( https://www.nuget.org/packages/Microsoft.Azure.DocumentDB )。

在您的 Azure Functions V2 项目中,您还需要使用相同的 nuget(核心)。如果您使用Microsoft.Azure.WebJobs.Extensions.CosmosDB软件包,它已经包含在内。

关于c# - Azure Functions DocumentClient 无法从程序集异常加载类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55073023/

相关文章:

c# - 如何在 ASP.net 中启用和禁用 jQuery 中的文本框

c# - 将多维数组从 C# 传递到 C++ DLL

javascript - 上传然后下载一个大文件,使用windows azure、blob存储和nodejs

c# - 如何访问 Azure Function 2 中的 Azure 服务总线消息属性

javascript - 如何从 Azure Functions JavaScript 函数中获取更详细的错误消息?

azure - 部署后无法更改 Azure Function 运行时版本

c# - 无法将类型为 'System.Int32' 的对象转换为 DataReader.GetString() 中的类型 'System.String'

c# - 从程序集中获取所需的运行时版本

PowerShell - Set-Culture 似乎没有改变任何东西

caching - 如何在整个 Web 角色中共享 DataCacheFactory 的静态实例以便在多个网站中使用,从而仅创建一个缓存连接?