2011-10-10 119 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;請閱讀他參考的文章。

相關問題