更新管道时 Azure 函数缺少 dll 错误

Missing dll error from Azure function when updating pipeline

我有一个 Azure 函数,它会在我将 blob 复制到容器中时触发。该函数成功地将 blob 复制到子文件夹中进行处理,但我随后想更改管道计划以将管道触发到 运行。但是,当我尝试在代码中更改管道计划时,出现以下错误:

无法加载文件或程序集'Microsoft.Threading.Tasks,版本=1.0.12.0,文化=中性,...或其依赖项之一。系统找不到指定的文件。

我查看了 nuget 包列表以删除未使用的包并确保我使用的是最新版本。我还注释掉了我的 csx 文件中不必要的使用,但我仍然遇到错误。如果我注释掉管道更新调用,错误就会消失,函数 运行s 结束。

我的 project.json 文件看起来像这样(不是我已经包含注释掉的包以显示我之前尝试过的其他包):

{
  "frameworks": {
    "net46": {
      "dependencies": {
        ////"Hyak.Common": "1.1.0",
        "Microsoft.Azure.Common": "2.1.0",
        "Microsoft.Azure.Common.Dependencies": "1.0.0",
        "Microsoft.Azure.Management.DataFactories": "4.11.0",
        ////"Microsoft.Bcl": "1.1.10",
        ////"Microsoft.Bcl.Async": "1.0.168",
        ////"Microsoft.Bcl.Build": "1.0.21",
        "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.13.8"
        ////"Microsoft.Net.Http": "2.2.29"
      }
    }
  }
}

最后,在csx文件中,我的用法如下(同样包括注释掉的行)

#r "System.Runtime"
#r "System.Threading.Tasks"
#r "Microsoft.WindowsAzure.Storage"

using System;
using System.Net;
using System.Threading.Tasks;
using System.Configuration;
//using Newtonsoft.Json;
using Microsoft.Azure;
//using Microsoft.Azure.Common;
using Microsoft.Azure.Management.DataFactories;
using Microsoft.Azure.Management.DataFactories.Models;
using Microsoft.IdentityModel.Clients.ActiveDirectory;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob; 

更新管道的代码如下:

client.Pipelines.CreateOrUpdate(resourceGroupName, dataFactoryName, new PipelineCreateOrUpdateParameters()
    {
        Pipeline = pl.Pipeline
    });

    log.Info($"Pipeline rescheduled for {slice}");

如果我 运行 这是一个控制台 application/web 应用程序(其中包括多个引用,包括 Microsoft.Threading.Tasks),管道更新工作正常但相同的代码不适用于我的蔚蓝功能。

有人知道我可能遗漏了什么 nuget packages/versions 或参考资料吗?

原来这个问题是由 project.lock.json 文件引用旧版本的 .Net(即 4.5,而不是 4.6)引起的。将它更新到 4.6 解决了这个问题。

为了完整起见,project.lock.json 文件现在内容如下:

{
  "locked": false,
  "version": 2,
  "targets": {
    ".NETFramework,Version=v4.6": {}
  },
  "libraries": {},
  "projectFileDependencyGroups": {
    "": [],
    ".NETFramework,Version=v4.6": []
  }
}