我有以下情况。我试图在C#.Net中编写一个Azure函数,它将从存储队列中读取(使用触发器),然后在Azure存储表中查找实体。
要创建函数,我使用了Visual Studio 2017并创建了一个函数项目。以下引用位于csproj文件中。
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.2" />
然后我按照这里描述的如何读取,写入和查询表的说明进行操作。 https://docs.microsoft.com/en-us/azure/cosmos-db/table-storage-how-to-use-dotnet
但是,当我添加去安装一个必需的依赖项,如Install-Package Microsoft.Azure.Storage.Common -Version 9.0.0.1-preview时,我无法解决,因为Newtonsoft的版本之间存在冲突。 Json我需要Microsoft.NET.Sdk.Functions依赖项,因为它只能使用9.0.1。
有没有人知道解决此问题的解决方案?
答案 0 :(得分:0)
正如你所说,Microsoft.NET.Sdk.Functions是1.0.2,因此它的一个依赖项是Newtonsoft.Json只能使用9.0.1版本。
如果你想安装最新的稳定的9.0.0.1版本的Microsoft.Azure.Storage.Common。 很难实现。
因为无论Microsoft.Azure.Storage.Common的版本是什么, Newtonsoft.Json必须是&gt; = 10.0.2 。
因此,我建议您可以将 Newtonsoft.Json的版本更新为10.0.2 ,Microsoft.NET.Sdk.Function将自动更新。
然后你可以安装Microsoft.Azure.Storage.Common。
答案 1 :(得分:0)
尝试使用azure计时器功能并使用类库引用。在类库中,您可以使用最新的blob存储版本,因此它不依赖于Newtonsoft.Json,您可以在库中编写代码,从函数中调用它。 像这样https://blogs.msdn.microsoft.com/benjaminperkins/2017/04/13/how-to-add-assembly-references-to-an-azure-function-app/