我的主应用程序的GUI组件是其自己的项目,并且主应用程序在运行时仅使用GUI组件的.dll。由于userSettings
存储在GUI组件的app.config
中,主应用程序不复制它,因此我无法保存userSettings(未创建user.config)。
我看到的解决方法可能是将组件的userSettings
存储在运行时复制到主应用程序目录中的外部配置文件(由app.config
引用)中,或者以某种方式将所有userSettings
置于主应用程序级别( (因为它的.exe.config
已复制),然后从GUI组件访问它。
但是,我无法获得这两种方法来保存userSettings
。有任何想法吗?如果需要任何澄清,请告诉我。
最佳答案
您应该能够将Settings
从主项目的Properties移到GUI组件DLL的Properties(或者如果愿意,可以创建Settings.dll
)。
然后从主应用程序引用此DLL并添加using
语句,以便您可以访问Settings.Default
。然后,您必须更改设置文件的访问修饰符。这有点不太明显,但在MSDN documentation中进行了解释。这是屏幕截图:
将其更改为“公开”后,您可以从应用程序中的任何位置读取设置。
警告:每个正在运行的应用程序的设置不能超过1个,因为实现是单例的,您会得到意想不到的结果。如果您有一份“设置”副本,则无需将其放置在.exe dll中-可以将其放置在您想要的任何位置。
我假设您不是要在各个应用程序之间重用。
关于c# - 从DLL访问Properties.Settings userSettings,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6445867/