我想使用Gremlin.NET从Azure Functions更新Azure CosmosDB图。我正在使用1.0.10函数Cli,.NET Framework 4.7.1以及具有这些依赖项的项目:
<PackageReference Include="Gremlin.Net" Version="3.3.2" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DocumentDB" Version="1.2.0" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="1.2.2-beta3" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.13" />
提交查询
var gremlinServer = new GremlinServer(
Settings.GraphEndPoint,
443,
enableSsl: true,
username: "/dbs/" + Settings.GraphDatabaseName + "/colls/" + Settings.GraphName,
password: Settings.GraphPrimaryKey);
using (var gremlinClient = new GremlinClient(gremlinServer, new GraphSON2Reader(), new GraphSON2Writer(), GremlinClient.GraphSON2MimeType))
{
var resultSet = await gremlinClient.SubmitAsync<dynamic>(graphStatement);
我遇到了这个错误:
执行函数时出现异常:GraphQuery。 Gremlin.Net:无法加载文件或程序集'System.Reflection.TypeExtensions,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。
NuGet依赖项diplay System.Reflection.TypeExtensions版本4.3.0,文件版本似乎是4.1.1.0。
我该怎么做才能让它发挥作用?
观察添加:
当我克隆时,将Gremlin.NET csproj添加到我的解决方案并在解决方案中引用它,我得到相同的错误。但是,如果我将Gremlin.NET Target框架从.NET Standard 1.3
更改为.NET Standard 2.0
,我不会收到此错误。然而,与Gremlin服务器的通信在Connection.ReceiveAsync
中断开。
答案 0 :(得分:0)
我遇到过这个问题,请确保您拥有所需的.NET Framework版本(4.5.1或更高版本)
答案 1 :(得分:0)
使用Gremlin.NET将功能应用程序迁移到Azure Functions v2-在此不会发生引用问题。