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 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南