我的主应用程序的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/

10-11 23:55