2008-12-29 4 views
27

nach der Fülle der Informationen gefunden here Wie können wir eine externe .config zu arbeiten? Ich habe das selbe Setup versucht, das ich für eine externe appSettings Datei verwenden würde, aber es ist nicht möglich, die Datei für meinen benutzerdefinierten Abschnitt zu finden.Wie aktiviert man das ConfigSource-Attribut für den benutzerdefinierten Konfigurationsabschnitt in .NET?

<configSections> 
... 
    <section name="CustomSettings" type="Fully.Qualified.TypeName.CustomSettings, AssemblyName" /> 
</configSections> 
<!-- this works --> 
<CustomSettings attrib1="val1" attrib2="val2" .../> 

aber ...

<!--this does not work--> 
<CustomSettings configSource="someExternalFile.config"/> 

wo someExternalFile.config enthalten würde

<CustomSettings attrib1="val1" attrib2="val2" .../> 

irgendwelche Ideen?

Antwort

23

Die eigentliche Datei, muss der Projektausgabeordner relativ platziert werden (standardmäßig „\ bin \ debug“ oder „bin \ Release“

Auch die Datei in Ihrem Projektbaum, Blick auf die Eigenschaften von die Datei, und stellen Sie sicher, dass die Einstellung "Copy to Output Directory" auf "Copy Always" oder "Copy if Newer"

EDIT: stellen Sie sicher, dass die separate Konfigurationsdatei eine XML-Element-Header hat. Der gesamte Dateiinhalt sollte lese wie folgt:

<?xml version="1.0" encoding="utf-8" ?> 
<CustomSettings attrib1="val1" attrib2="val2" .../> 
+0

hmm, das hat nicht funktioniert .. irgendwelche anderen Ideen? –

+2

Stellen Sie sicher, dass die Datei ein XML-Header-Element enthält, wie in meiner bearbeiteten Antwort angezeigt ... Außerdem erhalten Sie eine Fehlermeldung, die besagt, dass externe Datei nicht gefunden werden kann ... –