我创建了一个简单的" Wpf用户控件库"包含UserControl(文件后面带.cs代码的xaml)和包含简单设置的设置文件。 在最终应用程序中非常需要Settings文件,用户可以轻松更改设置文件中的某些设置,因此我不必创建用于更改简单设置的UI和逻辑。
构建解决方案后,我有一个.dll,一个.pdb和设置文件(.config),其中的设置很容易阅读。
现在,在导入用户控件.dll的最终应用程序中(添加为参考),usercontrol按预期工作,我在设置文件中设置的设置仍然有效,但没有设置文件(因此,调试文件夹中的.config)现在可供用户根据需要轻松更改设置。
那是怎么回事?如何发送用户控件的设置文件以及最终的应用程序?祝你好运
答案 0 :(得分:0)
首先,您可能不应该发布尚未在发布模式下构建的内容。
其次,根据我的经验,应用程序只能由.NET配置类自动加载单个可执行应用程序配置文件。
处理此问题的正确方法是记下在DLL的applicationSettings sectionGroup下生成的设置命名空间,并让用户将其插入主应用程序可执行文件.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>
编辑:在进一步调查中,我发现这篇文章告诉您如何设置自己的configSection,以便您可以引用多个文件。但是,它没有指定这是否自动适用于ConfigurationManager
类,因此我会尝试使用它,最坏的情况是使用我上面描述的方法。
Is there any way for an App.config file to reference another full config file? (.NET)