Unable to load .NET config sections into System.Configuration classes within an aws lambda function

0

I would like to deploy an AWS lambda function using .NET Core. Much of the code is shared with other applications that are not lambdas. We use System.Configuration extensively throughout our code. However, we are unable to get lambda code to find and load configuration files.

These are snippets from our application config file.

<configSections>
    <sectionGroup name="countryConfig">
      <section name="countryConfiguration"
               type="TTDomain.Configuration.Countries.CountryConfiguration, TTDomain_NETStandard"/>
    </sectionGroup>
<configSections>
...
...
  <countryConfig>
    <countryConfiguration configSource="Web.countryConfiguration.config"/>
  </countryConfig>

And then in C# code we do things like

public static CountryConfiguration GetConfig()
        {
            return ConfigurationManager.GetSection("countryConfig/countryConfiguration") as CountryConfiguration;
        }

This all works just fine, except when deployed as a lambda function. We have many many such usages of various configurations throughout a large code base of assemblies shared to many contexts. Not being able to use this very basic .NET feature is creating a lot of re-work. Any ideas how to make it work without needing to touch all our C# code?

Thanks

質問済み 2年前528ビュー
1回答
1

Hi Kevin,

I suspect the issue is that you are using the Windows Compatibility Pack to leverage ConfigurationManager from your .NET Core application. Whilst the Windows Compatibility Pack makes it easy to port .NET Framework apps to .NET, it restricts those applications to only run on Windows. AWS Lambda is underpinned by Linux which means .NET Core applications that have Windows dependencies won't work.

AWS
Brad
回答済み 2年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ