我有一个Dll被添加到另一个解决方案中,现在我的代码用于读取配置文件在DLL
中但我的配置文件是当前的解决方案
什么应该是正确的解决方案?
答案 0 :(得分:0)
.NET中的DLL不能有自己的配置 - your.dll.config
文件将不被使用和解释。
.NET配置的基本前提是主机应用程序(您的主要EXE)应在其app.exe.config
文件中具有所有配置。所以你需要复制&将您的DLL配置粘贴到主应用程序的app.config
文件中,您应该没问题。
请参阅Chris Ammerman的this other SO question with a great, lengthy explanation,了解为什么DLL配置并不像最初看起来那么简单....
答案 1 :(得分:0)
如果您正在讨论在另一个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_s;请阅读他引用的文章。