我有一个Azure函数v2,它调用一个实用程序库,然后实例化一个DocumentClient
。在本地运行我的函数时,它会在此行引发异常:
_client = new DocumentClient(new Uri(cosmosDbEndpoint), cosmosDbAuthKey, Storage.SerializerSettings, connectionPolicy);
System.Private.CoreLib:执行函数时出现异常:ComponentDesignInserter-Http-UploadFiles。 Microsoft.Azure.Documents.Client:无法从程序集'System.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.Diagnostics.Eventing.EventProviderTraceListener'。
我的实用程序库是.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 Full Framework包(https://www.nuget.org/packages/Microsoft.Azure.DocumentDB)。
在Azure Functions V2项目中,您还需要使用相同的nuget(Core)。如果您使用的是Microsoft.Azure.WebJobs.Extensions.CosmosDB包,则已包含在内。