我有一个带有设置文件的c#库。我想知道是否有办法在外部文件中发布设置,以便用户可以编辑设置并更改某些值。
我一直尝试了几种组合,但是设置文件总是将其值嵌入到dll编译文件中,我希望有类似app.config但有库的东西。这可能吗?
由于
答案 0 :(得分:0)
是的,确实如此。您只需要在代码中动态加载它,并像普通应用程序配置一样使用:
var path = @"C:\YourLib.dll"; // your config file should be named YourLib.dll.config
Configuration Config = ConfigurationManager.OpenExeConfiguration(path); // this may be class field
Setting1 = Config.AppSettings.Settings["Setting1"] != null ? Config.AppSettings.Settings["Setting1"].Value : something;
我不确定相对路径是否有效,请随意尝试:)
答案 1 :(得分:0)
我认为我试图用一种糟糕的方法解决它,正如https://stackoverflow.com/a/7263047/1081568中所解释的那样,配置必须在可执行应用程序中,而不是在库类中。
要解决这个问题,我在我的属性设置库中创建了一个类,它使用System.Configuration.ConfigurationManager.AppSettings [“NameOfSetting”]
读取我的web / app.config的配置。