我正在构建一个类库,我想知道确保某些设置在 app.config/webconfig 中的最佳方法是什么。
类库需要一个连接字符串和一个应用程序 key 。
我知道使用 nuget 可以将设置注入(inject)配置文件,但我没有使用 nuget 所以想知道是否有人有任何想法,或者我是否必须 try catch 并查看这些设置是否在配置文件中?
最佳答案
您可以在不同类型的解决方案之间进行选择:
您可以说,为您提供所需信息是用户的责任。所以你只需确保当用户创建你的对象的实例时,它会为你提供所需的信息。对于类库来说,这是一个不错的选择。您不想告诉谁将使用您的代码,以及如何管理他的设置。假设他有自己的方式来保存配置——为什么你必须绑定(bind)特定的配置类型 (System.Configuration)。
如果您坚持使用 app.config/web.config,您可以只为您的程序集使用一个,而不使用应用程序主配置。您可以使用
ConfigurationManager.OpenExeConfiguration
。要知道程序集从哪里运行,请使用Assembly.GetExecutingAssembly().Location
。这样,您就可以打开自己的配置文件,只需在文档中确保用户必须更新设置即可。你可以告诉他他必须在他的 app.config/web.config 中指定配置信息,如果你要查找的 key 不存在则抛出异常......
关于c# - 从类库注入(inject)设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12608109/