我有一个.net核心web api项目,它引用了具有app.config设置的4.x程序集。我可以将app.config设置转换为appsettings.json而无需修改旧程序集,或者我只是使用旧程序集的设置放入app.config文件中吗?如果我只是放入app.config文件,如何在发布时更改这些设置?
答案 0 :(得分:0)
在Core 2.0 Web API
中,您可以通过以下方式将配置指向旧app.config
:
IConfigurationRoot configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true)
.AddXmlFile("app.config")
.Build();
然后,您将能够通过键访问例如您的连接字符串(和其他应用程序设置)(看起来像冒号分隔的XML路径)。例如,对于连接字符串部分,您可以通过以下方式获取连接名称MyConnectionName
的值:
key: "connectionStrings:add:MyConnectionName:connectionString"
value: "...your connection string..."
或者您可以按照详细说明here实施自己的LegacyConfigurationProvider
,并具有以下内容:
IConfigurationRoot configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true)
.Add(new LegacyConfigurationProvider())
.Build();
答案 1 :(得分:0)
所以我最终做的只是添加app.config文件。我还添加了一个app.release.config并将其重命名为app.config,作为我的发布过程的一部分。我无法使用配置转换。我根本无法在Azure CI中工作。