部署后,Azure函数3.0会随机引发运行时错误

时间:2019-12-15 20:22:08

标签: c# azure-functions

我们正在使用.net core 3创建Azure函数,并在本地运行正常,大多数情况下,在部署到Azure时也可以正常运行,但是,从Visual Studio部署之后,我们会随机出现此错误显示在Azure门户中:

  

函数运行时无法启动。找不到方法:“ Microsoft.Extensions.Configuration.IConfigurationBuilder Microsoft.Extensions.Configuration.FileConfigurationExtensions.SetBasePath(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String)”。

我们不知道确切地解决该错误的方法,但是在VS中创建一个新的Function项目,然后粘贴代码可以解决此问题,但这显然不是很方便。

我们在Startup类中使用这样的DI:

var currentDirectory = "/home/site/wwwroot";
var isLocal = string.IsNullOrEmpty(Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID"));
if (isLocal)
{
    currentDirectory = Environment.CurrentDirectory;
}

var config = new ConfigurationBuilder()
    .SetBasePath(currentDirectory)
    .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
    .AddEnvironmentVariables()
    .Build();

在本地以及大多数情况下,在部署到Azure时,效果都很好。

可以通过重新部署之前使用的完全相同的代码来触发该错误,因此很难进行故障排除。

关于如何解决此问题的任何想法?

0 个答案:

没有答案