Я пытаюсь опубликовать sh Azure Функция v.2, но получаю ошибку:
Невозможно запустить функцию времени выполнения функции. Microsoft.Extensions.Configuration.FileExtensions: Файл конфигурации 'local.settings. json' не найден и не является обязательным. Физический путь: «D: \ Program Files (x86) \ SiteExtensions \ Functions \ 2.0.12961 \ 32bit \ local.settings. json».
У меня есть следующая конфигурация:
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Always</CopyToPublishDirectory>
</None>
и я вижу этот файл в Куду.
Как его решить?
ДОБАВЛЕНО:
Я пытался создать другой файл с именем config.json
:
{
"FtpSettings": {
"FtpServer": "ftp://address/out",
"FtpLogin": "login",
"FtpPassword": "pass"
}
}
, затем попробуйте прочитать его:
var config = new ConfigurationBuilder()
.AddJsonFile("config.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
builder.Services.AddTransient<FtpService.IFtpService>(s => new FtpService.Core.FtpService(
address: config.GetSection("FtpSettings:FtpServer").Value,
username: config.GetSection("FtpSettings:FtpLogin").Value,
password: config.GetSection("FtpSettings:FtpPassword").Value
));
, поэтому мой Startup
класс:
[assembly: FunctionsStartup(typeof(FunctionAppEfsGetFilesFromFtp.Startup))]
namespace FunctionAppEfsGetFilesFromFtp
{
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
var config = new ConfigurationBuilder()
.AddJsonFile("config.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
builder.Services.AddTransient<FtpService.IFtpService>(s => new FtpService.Core.FtpService(
address: config.GetSection("FtpSettings:FtpServer").Value,
username: config.GetSection("FtpSettings:FtpLogin").Value,
password: config.GetSection("FtpSettings:FtpPassword").Value
));
}
}
}
но это тоже нельзя прочитать