Я пытаюсь создать функцию Azure с триггером служебной шины. Локально он собирается нормально, однако, когда я пытаюсь его запустить, я получаю следующую ошибку:
[2024-11-28T12:47:02.953Z] A host error has occurred during startup operation '2fe67e9d-b8ad-4ee6-9603-18ba874fbe69'.
[2024-11-28T12:47:02.953Z] Microsoft.Azure.WebJobs.Script: Error building configuration in an external startup class. TransactionEventsProcessor: Could not load file or assembly 'Microsoft.Extensions.Configuration.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The system cannot find the file specified.
У меня установлены следующие пакеты nuget:
Если я также установлю Microsoft.Extensions.Configuration.Abstractions, я получу то же сообщение об ошибке. Есть предложения по устранению этой ошибки?
Класс Startup.cs:
public class Startup : FunctionsStartup
{
///
public override void Configure(IFunctionsHostBuilder builder)
{
var configuration = builder.GetContext().Configuration;
builder.Services.AddSingleton();
}
///
public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
#if DEBUG
builder.ConfigurationBuilder
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("local.settings.json", true);
#else
AzureAppConfig.Extensions.DependencyInjectionExtensions
.AddAzureAppConfig(builder.ConfigurationBuilder)
.AddEnvironmentVariables();
#endif
base.ConfigureAppConfiguration(builder);
}
}
Код функции:
public class IntegrationFunction
{
///
/// The message mapper
///
private IMessageMapper messageMapper;
///
/// Polling integration.
///
/// The message
/// The logger.
/// The message actions
/// The mainframe queued message client
/// The message mapper
[FunctionName("IntegrationFunction")]
[return: ServiceBus("%Transactions:SB:Transactions:ProcessorUpdateQueue%", Connection = "Transactions:SB:Transactions")]
public async Task Run(
[ServiceBusTrigger(
"%Transactions:SB:Transactions:ReceiveTopic%",
"%Transactions:SB:Transactions:TransactionEventsTopicSubscription%",
Connection = "Transactions:SB:Transactions")]
ServiceBusReceivedMessage message,
ILogger logger,
ServiceBusMessageActions messageActions,
IMainframeQueuedMessageClient queuedMessageClient,
IMessageMapper messageMapper,
IConfiguration configuration)
{
try
{
var retailTransaction = JsonConvert.DeserializeObject(message.Body.ToString(), JsonSerialisationUtils.SerialiserSettings);
if (retailTransaction == null)
throw new TransactionDeserialisationException();
if (retailTransaction.PollingEvents == null)
return retailTransaction.GetServiceBusMessage(CompletionResults.Completed);
if (configuration?[Constants.DisableSendToMainframe] == null || configuration[Constants.DisableSendToMainframe].ToLowerInvariant().Equals("false"))
{
logger.LogWarning($"Transaction event messages for '{retailTransaction.TransactionNumber}' will not be sent due to app configuration {Constants.DisableSendToMainframe} being enabled" );
return retailTransaction.GetServiceBusMessage(CompletionResults.Completed);
}
return retailTransaction.GetServiceBusMessage(CompletionResults.Completed);
}
catch (Exception ex)
{
return ((RetailTransaction)null).GetServiceBusMessage(CompletionResults.CompletedWithError, errorMessage: ex.Message);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... s-configur
Функции Azure: не удалось загрузить файл или сборку «Microsoft.Extensions.Configuration.Abstractions, версия = 8.0.0.0». ⇐ C#
Место общения программистов C#
1733119888
Anonymous
Я пытаюсь создать функцию Azure с триггером служебной шины. Локально он собирается нормально, однако, когда я пытаюсь его запустить, я получаю следующую ошибку:
[2024-11-28T12:47:02.953Z] A host error has occurred during startup operation '2fe67e9d-b8ad-4ee6-9603-18ba874fbe69'.
[2024-11-28T12:47:02.953Z] Microsoft.Azure.WebJobs.Script: Error building configuration in an external startup class. TransactionEventsProcessor: Could not load file or assembly 'Microsoft.Extensions.Configuration.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The system cannot find the file specified.
У меня установлены следующие пакеты nuget:
Если я также установлю Microsoft.Extensions.Configuration.Abstractions, я получу то же сообщение об ошибке. Есть предложения по устранению этой ошибки?
Класс Startup.cs:
public class Startup : FunctionsStartup
{
///
public override void Configure(IFunctionsHostBuilder builder)
{
var configuration = builder.GetContext().Configuration;
builder.Services.AddSingleton();
}
///
public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
#if DEBUG
builder.ConfigurationBuilder
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("local.settings.json", true);
#else
AzureAppConfig.Extensions.DependencyInjectionExtensions
.AddAzureAppConfig(builder.ConfigurationBuilder)
.AddEnvironmentVariables();
#endif
base.ConfigureAppConfiguration(builder);
}
}
Код функции:
public class IntegrationFunction
{
///
/// The message mapper
///
private IMessageMapper messageMapper;
///
/// Polling integration.
///
/// The message
/// The logger.
/// The message actions
/// The mainframe queued message client
/// The message mapper
[FunctionName("IntegrationFunction")]
[return: ServiceBus("%Transactions:SB:Transactions:ProcessorUpdateQueue%", Connection = "Transactions:SB:Transactions")]
public async Task Run(
[ServiceBusTrigger(
"%Transactions:SB:Transactions:ReceiveTopic%",
"%Transactions:SB:Transactions:TransactionEventsTopicSubscription%",
Connection = "Transactions:SB:Transactions")]
ServiceBusReceivedMessage message,
ILogger logger,
ServiceBusMessageActions messageActions,
IMainframeQueuedMessageClient queuedMessageClient,
IMessageMapper messageMapper,
IConfiguration configuration)
{
try
{
var retailTransaction = JsonConvert.DeserializeObject(message.Body.ToString(), JsonSerialisationUtils.SerialiserSettings);
if (retailTransaction == null)
throw new TransactionDeserialisationException();
if (retailTransaction.PollingEvents == null)
return retailTransaction.GetServiceBusMessage(CompletionResults.Completed);
if (configuration?[Constants.DisableSendToMainframe] == null || configuration[Constants.DisableSendToMainframe].ToLowerInvariant().Equals("false"))
{
logger.LogWarning($"Transaction event messages for '{retailTransaction.TransactionNumber}' will not be sent due to app configuration {Constants.DisableSendToMainframe} being enabled" );
return retailTransaction.GetServiceBusMessage(CompletionResults.Completed);
}
return retailTransaction.GetServiceBusMessage(CompletionResults.Completed);
}
catch (Exception ex)
{
return ((RetailTransaction)null).GetServiceBusMessage(CompletionResults.CompletedWithError, errorMessage: ex.Message);
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79233974/azure-functions-could-not-load-file-or-assembly-microsoft-extensions-configur[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия