2011-10-10 140 views
0

使用时从DLL读取配置我已经被添加到另一种解决方案,现在我的代码读取配置文件中的DLL是在DLL无法在另一种解决方案

但我的配置文件是在当前的解决方案

什么应该是适当的解决方案?

回答

0

在.NET中的DLL不能有自己的配置 - 即your.dll.config文件将而不是被使用和解释。

.NET配置的基本前提是主机应用程序(您的主EXE)应该在其app.exe.config文件中具有其所有配置。所以你需要复制&粘贴你的DLL配置到主应用程序的app.config文件中,你应该没问题。

this other SO question with a great, lengthy explanation克里斯Ammerman为什么有一个DLL的配置并不像小事,因为它可能在最初看起来....

+0

谢谢问题解决!我有我的XML的问题,并寻找配置部分:) –

0

如果你谈论的是在另一个使用.NET程序集和它的配置VS项目或解决方案,您可以将配置放置在新项目的配置文件中。

如果您使用的是自动生成的强类型设置部分,你需要复制整个设置部分,它的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;请阅读他参考的文章。

相关问题