【发布时间】:2023-03-07 21:01:01
【问题描述】:
我决定将我的一个 ASP.NET MVC 5 应用程序迁移到 ASP.NET Core 2,但我希望两个版本都能正常工作。我已经将所有类库迁移到 .NET Standard(以便我可以在两个项目中使用它们)并且想使用 Microsoft.Extensions.Configuration 标准库来管理应用程序设置。
虽然在 ASP.NET Core 2.0 中使用此配置库不是问题,但我找不到在 ASP.NET MVC 5 应用程序中正确加载 web.config 文件的方法。这是我当前用于加载 web.config 文件的代码:
var configurationBuilder = new ConfigurationBuilder();
configurationBuilder.AddXmlFile("web.config");
_configuration = configurationBuilder.Build();
但是,每次我运行应用程序时,都会收到异常:System.FormatException: A duplicate key 'appSettings:add:key' was found'appSettings:add:key'。我仔细检查了文件,没有重复的密钥,所以我猜这是兼容性的问题。是否有人将 MS 配置库与 ASP.NET MVC 5 一起使用并找到了正确使用 stadnard web.config 文件的方法?
【问题讨论】:
-
您最终找到解决方案了吗?
-
抱歉回答晚了。暂时,我创建了一些丑陋的解决方案,然后我决定放弃 MVC 5 项目,所以没有必要解决这个问题。但是,您可以查看此处提供的答案:benfoster.io/blog/net-core-configuration-legacy-projects。上一节中提到的
LegacyConfigurationProvider看起来像是可以使其工作的解决方案 -
不用担心。感谢您抽出宝贵时间回复!
标签: c# asp.net asp.net-mvc asp.net-core-mvc