在其他解决方案中使用时无法从DLL读取配置
我有一个Dll,它被添加到另一个解决方案中,现在我读取配置文件的代码位于Dll中 但我的配置文件在当前解决方案中在其他解决方案中使用时无法从DLL读取配置,dll,configuration,Dll,Configuration,我有一个Dll,它被添加到另一个解决方案中,现在我读取配置文件的代码位于Dll中 但我的配置文件在当前解决方案中 正确的解决方案应该是什么?NET中的DLL不能有自己的配置-您的.DLL.config文件将不会被使用和解释 .NET配置的基本前提是,主EXE的主机应用程序的所有配置都应该在其app.EXE.config文件中。因此,您需要将您的DLL配置复制并粘贴到主应用程序的app.config文件中,这样您就没事了 Chris Ammerman解释了为什么DLL配置不像一开始看起来那么简单…
正确的解决方案应该是什么?NET中的DLL不能有自己的配置-您的.DLL.config文件将不会被使用和解释 .NET配置的基本前提是,主EXE的主机应用程序的所有配置都应该在其app.EXE.config文件中。因此,您需要将您的DLL配置复制并粘贴到主应用程序的app.config文件中,这样您就没事了
Chris Ammerman解释了为什么DLL配置不像一开始看起来那么简单……如果您正在谈论在另一个VS项目或解决方案中使用.NET程序集及其配置,您可以将配置放在新项目的配置文件中 如果您使用的是自动生成的强类型设置部分,则还需要复制整个设置部分及其configSections声明:
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<!-- VB-generated settings section -->
<section name="HappyFunTime1.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- C#-generated settings section -->
<section name="HappyFunTime2.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
</configSections>
<applicationSettings>
<HappyFunTime1.My.MySettings>
<setting name="MySetting1" serializeAs="String">
<value>Joy!</value>
</setting>
</HappyFunTime1.My.MySettings>
<HappyFunTime2.Properties.Settings>
<setting name="MySetting1" serializeAs="String">
<value>Joy!</value>
</setting>
</HappyFunTime2.Properties.Settings>
</applicationSettings>
如果使用的是appSettings,则可以将它们复制到新项目的appSettings部分
尽管如此,我同意marc_的观点;请务必阅读他引用的文章。谢谢,问题解决了!我的xml有问题,正在查找配置部分: