【发布时间】:2015-11-12 15:10:13
【问题描述】:
我需要编写一个 .NET 4.5 组件,它可能被 .EXE 或 Web 应用程序使用。该组件有许多需要提供的配置参数——相应地在主 app.config 或 web.config 中。 是否有通用 API 来读取配置或至少有一种确定模式的方法?
【问题讨论】:
标签: asp.net .net configuration exe
我需要编写一个 .NET 4.5 组件,它可能被 .EXE 或 Web 应用程序使用。该组件有许多需要提供的配置参数——相应地在主 app.config 或 web.config 中。 是否有通用 API 来读取配置或至少有一种确定模式的方法?
【问题讨论】:
标签: asp.net .net configuration exe
来自David Whitney 的System.Configuration.Abstractions 库适用于桌面和Web 应用程序。您可以使用 nuget 安装它:
install-package System.Configuration.Abstractions
有关于Github site 的文档,但简而言之,您可以使用ConfigurationManager 或WebConfigurationManager,您可以改用System.Configuration.Abstractions.ConfigurationManager.Instance(或使用IConfigurationManager 并注入一个实例)
【讨论】:
对于 App.config(桌面应用程序,foo.exe.config)使用:
https://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager(v=vs.110).aspx
对于Web.config,你需要使用:
把这两个都抽象出来,你就被覆盖了。
为了确定你是否在 ASP.NET 环境中,我过去使用过System.Web.Hosting.HostingEnvironment.IsHosted。
【讨论】: