如何解决门户脚本编译中的 Azure 函数应用程序开发人员失败at async
我使用Portal 中的Developer 开始实现函数APIs 尝试将SSH.NET 包添加到当前函数API 以将文件上传到SFTP。按照以下步骤仍然无法连接 SFTP。
- 创建一个名为 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...
- 在 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");
}
执行时出现以下错误。
2021-03-13T16:50:11.546 [错误] 函数编译错误Microsoft.CodeAnalysis.Scripting.CompilationErrorException:脚本编译失败。 :\a\1\s\src\WebJobs.Script\Description\DotNet\DotNetFunctionInvoker.cs : 321at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()at async Microsoft.Azure.WebJobs.Script.Description.FunctionLoader`1。在 D:\a\1\s\src\WebJobs.Script\Description\FunctionLoader.cs 的 GetFunctionTargetAsync[T](Int32 trialCount):55 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在异步 Microsoft.Azure.WebJobs。 Script.Description.DotNetFunctionInvoker.GetFunctionTargetAsync(Boolean isInvocation) 在 D:\a\1\s\src\WebJobs.Script\Description\DotNet\DotNetFunctionInvoker.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.Abstractions,Version=3.1.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60'. Core' 匹配身份 'Microsoft.AspNetCore.Mvc.Abstractions,Version=3.1.12.0,PublicKeyToken=adb9793829ddae60' of 'Microsoft.AspNetCore.Mvc.Abstractions',您可能需要提供运行时策略 2021-03-13T16:50:11.673 [警告] run.csx(24,5): 警告 CS1702: 假设程序集引用'Microsoft.AspNetCore.Mvc.Abstractions,PublicKeyToken=adb97963082 'Microsoft.AspNetCore.Mvc.Core' 使用的匹配身份 'Microsoft.AspNetCore.Mvc.Abstractions,PublicKeyToken=adb9793829ddae60' of '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.742 [错误] 执行'Functions.VScodeFun'(失败,Id=21e3178e-6d75-4f07-a5ff-4ad842c7ed1f,Duration=244ms)脚本>编译失败。>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。