使用导入为.dll的UserControl中的设置文件
本文关键字:UserControl 设置 文件 dll 导入 | 更新日期: 2023-09-27 18:14:23
我创建了一个简单的"Wpf用户控制库",其中包含一个UserControl (xaml与。cs代码在文件后面)和一个包含简单设置的设置文件。在最终应用程序中非常需要设置文件,用户可以轻松地更改设置文件中的一些设置,因此我不必为更改简单设置创建UI和逻辑。
在构建解决方案后,我有一个。dll,一个。pdb和设置文件(.config),其中设置易于阅读。
现在,在最终的应用程序中,用户控制.dll被导入(作为参考添加),usercontrol按预期工作,我在设置文件中设置的设置仍在工作,但在调试文件夹中没有设置文件(.config),因此,现在用户可以根据需要轻松更改设置。
这是怎么回事?我如何将用户控件的设置文件与最终应用程序一起发布?
首先,您可能不应该发布尚未在发布模式下构建的东西。
其次,根据我的经验,一个应用程序只能有一个可执行的应用程序配置文件,由. net配置类自动加载。
处理此问题的正确方法是注意在applicationSettings sectionGroup下为DLL生成的设置命名空间,并让用户将其插入主应用程序可执行的.config文件中。
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="My.UserControlAssembly.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
...
<applicationSettings>
<My.UserControlAssembly.Properties.Settings>
...settings elements would go here...
</My.UserControlAssembly.Properties.Settings>
</applicationSettings>
</configuration>
Edit:在进一步的调查中,我发现这篇文章告诉您如何设置自己的configSection,以便您可以引用多个文件。但是,它没有指定这是否自动适用于ConfigurationManager
类,因此我将进行试验,最坏的情况下,使用我上面描述的方法。
是否有任何方法为App.config文件引用另一个完整的配置文件?(. net)