首页 > 解决方案 > 门户中的 Azure Functions 应用程序开发人员脚本编译失败。异步

问题描述

我在 Portal 中使用 Developer启动了实现功能 API , 尝试将 SSH.NET 包添加到当前功能 API 中,以将文件上传到 SFTP。按照以下步骤仍然无法连接 SFTP。

  1. 创建一个名为 function.proj 的新文件并将其上传到函数应用文件夹
<PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
   <PackageReference Include="SSH.NET" Version="2020.0.1" />
  </ItemGroup>

</Project>

单击保存按钮后,这里是日志。

2021-03-13T16:48:22.768 [Information] Starting packages restore
2021-03-13T16:48:24.927 [Information] Restore completed in 848 ms for C:\local\Temp\5fef7f53-1cfc-42dc-a2b0-f2466b1237ee\function.proj.
2021-03-13T16:48:25.561 [Information] Assembly reference changes detected. Restarting host...
  1. 在 run.csx 中创建了一个新的 HTTPtrigger 函数。
#r "Renci.SshNet" 

using System.Net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
using Renci.SshNet;

public static async Task<IActionResult> Run(HttpRequest req, ILogger log)
{
     string host = "test.rebex.net";
     string username = "demo";
     string password = "password";
     int port = 22;
     using (var client = new SftpClient(host, port, username, password))
    {
        client.Connect();
        if (client.IsConnected)
        {
            log.LogInformation("Connected to SFTP");
        }
    }     
    return new OkObjectResult("Ok");
}

执行时出现以下错误。

cs : 193 2021-03-13T16:50:11.642 [错误] run.csx(2,1): 错误 CS0006: 找不到元数据文件 'Renci.SshNet' 2021-03-13T16:50:11.672 [警告] run.csx(2,1):警告 AF005:引用“Renci.SshNet”是引用的 NuGet 包“SSH.NET”的一部分。包程序集由您的函数自动引用,不需要“#r”指令。2021-03-13T16:50:11.672 [警告] 警告 CS1702:假设“Microsoft.AspNetCore.Mvc”使用的程序集引用“Microsoft.AspNetCore.Mvc.Abstractions,Version=3.1.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”。 Core' 匹配身份 'Microsoft.AspNetCore.Mvc.Abstractions, Version=3.1.12.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' of 'Microsoft.AspNetCore.Mvc.Abstractions', 您可能需要提供运行时策略 2021-03-13T16:50:11.673 [警告] run.csx(24,5): 警告 CS1702: 假设程序集引用 'Microsoft.AspNetCore.Mvc.Abstractions, Version=3.1.0.0, Culture =neutral,PublicKeyToken=adb9793829ddae60' 使用的'Microsoft.AspNetCore.Mvc.Core' 匹配身份'Microsoft.AspNetCore.Mvc.Abstractions,Version=3.1.12.0,Culture=neutral,PublicKeyToken=adb9793829ddae60' 的'Microsoft.AspNetCore.Mvc' .Abstractions',您可能需要提供运行时策略 2021-03-13T16:50:11.673 [警告] run.csx(10,41): 警告 CS1998:此异步方法缺少“等待”运算符并将同步运行。考虑使用 'await' 运算符来等待非阻塞 API 调用,或使用 'await Task.Run(...)' 在后台线程上执行 CPU 密集型工作。2021-03-13T16:50:11。

标签: c#sftpazure-function-appazure-functions-core-toolsazure-function-async

解决方案


推荐阅读