2017-10-09 68 views
0

我决定将我的一个ASP.NET MVC 5应用程序迁移到ASP.NET Core 2,但是我想让这两个版本都能正常工作。我已将所有类库迁移到.NET Standard(以便我可以在两个项目中使用它们),并且希望使用Microsoft.Extensions.Configuration标准库来管理应用程序设置。是否可以将Microsoft.Extensions.Configuration库与ASP.NET 5集成?

尽管在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'。我仔细检查了文件,没有重复的密钥,所以我猜这是兼容性问题。有没有人在ASP.NET MVC 5中使用MS配置库,并找到了正确使用stadnard web.config文件的方法?

回答

0

一些键现在定义在更高级别上,您需要避免在配置中重复它。

比如我在装载了同样的错误,直到我删除键:

<add key="ClientValidationEnabled" value="true" /> 
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
+0

感谢您的答复。不幸的是,即使删除默认键后,我的自定义应用程序设置也会引发异常,这些设置在应用程序中使用。而且,即使在删除所有app.settings之后,另一个异常开始在启动'“部分的行中抛出。该例外状态表明'XML名称空间不支持asp.net web.config' – PJDev

相关问题