Konfigurera appar med hjälp av konfigurationsfiler
.NET Framework ger utvecklare och administratörer kontroll och flexibilitet över hur program körs via konfigurationsfiler. Konfigurationsfiler är XML-filer som kan ändras efter behov. En administratör kan styra vilka skyddade resurser som ett program kan komma åt, vilka versioner av sammansättningar ett program ska använda och var fjärranslutna program och objekt finns. Utvecklare kan placera inställningar i konfigurationsfiler, vilket eliminerar behovet av att kompilera om ett program varje gång en inställning ändras. I det här avsnittet beskrivs vad som kan konfigureras och varför det kan vara användbart att konfigurera ett program.
Anteckning
Hanterad kod kan använda klasserna i System.Configuration namnområdet för att läsa inställningar från konfigurationsfilerna, men inte för att skriva inställningar till dessa filer.
Den här artikeln beskriver syntaxen för konfigurationsfiler och innehåller information om de tre typerna av konfigurationsfiler: dator, program och säkerhet.
Konfigurationsfilformat
Konfigurationsfiler innehåller element, som är logiska datastrukturer som anger konfigurationsinformation. I en konfigurationsfil använder du taggar för att markera början och slutet av ett element. Elementet <runtime>
består till exempel av <runtime>
underordnade element</runtime>
. Ett tomt element skulle skrivas som <runtime/>
eller <runtime></runtime>
.
Precis som med alla XML-filer är syntaxen i konfigurationsfiler skiftlägeskänslig.
Du anger konfigurationsinställningar med fördefinierade attribut, som är namn/värde-par i ett elements starttagg. I följande exempel anges två attribut (version
och href
) för elementet <codeBase>
, som anger var körningen kan hitta en sammansättning (mer information finns i Ange en sammansättnings plats).
<codeBase version="2.0.0.0"
href="http://www.litwareinc.com/myAssembly.dll"/>
Datorkonfigurationsfiler
Datorkonfigurationsfilen Machine.configinnehåller inställningar som gäller för en hel dator. Den här filen finns i katalogen %runtime install path%\Config. Machine.config innehåller konfigurationsinställningar för maskinomfattande sammansättningsbindning, inbyggda fjärrkommunikationskanaler och ASP.NET.
Konfigurationssystemet letar först i datorkonfigurationsfilen efter elementet< appSettings och andra konfigurationsavsnitt> som en utvecklare kan definiera. Sedan visas den i programkonfigurationsfilen. För att hålla datorkonfigurationsfilen hanterbar är det bäst att placera inställningarna i programkonfigurationsfilen. Att placera inställningarna i datorkonfigurationsfilen kan dock göra systemet mer underhållsbart. Om du till exempel har en komponent från tredje part som både klient- och serverprogrammet använder är det enklare att placera inställningarna för komponenten på ett ställe. I det här fallet är datorkonfigurationsfilen rätt plats för inställningarna, så du har inte samma inställningar i två olika filer.
Anteckning
När du distribuerar ett program med XCOPY kopieras inte inställningarna i datorkonfigurationsfilen.
Mer information om hur den vanliga språkkörningen använder datorkonfigurationsfilen för sammansättningsbindning finns i How the Runtime Locates Assemblies (Så här letar Runtime upp sammansättningar).
Programkonfigurationsfiler
En programkonfigurationsfil innehåller inställningar som är specifika för en app. Den här filen innehåller konfigurationsinställningar som den vanliga språkkörningen läser (till exempel sammansättningsbindningsprincip, fjärrkommunikationsobjekt och så vidare) och inställningar som appen kan läsa.
Namnet och platsen för programkonfigurationsfilen beror på appens värd, vilket kan vara något av följande:
Körbar värdbaserad app.
Dessa appar har två konfigurationsfiler: en källkonfigurationsfil som ändras av utvecklaren under utvecklingen och en utdatafil som distribueras med appen.
När du utvecklar i Visual Studio placerar du källkonfigurationsfilen för din app i projektkatalogen och anger egenskapen Kopiera till utdatakatalog till Kopiera alltid eller Kopiera om den är nyare. Som standard är namnet på konfigurationsfilen App.config.
Om du vill skapa utdatakonfigurationsfilen som distribueras med appen kopierar Visual Studio källkonfigurationsfilen till katalogen där den kompilerade sammansättningen placeras. Den här filen heter <yourappname>.exe.config. En app med namnet myApp.exe har till exempel en utdatakonfigurationsfil med namnet myApp.exe.config.
I vissa fall kan Visual Studio ändra konfigurationsfilen för utdata. Mer information finns i avsnittet Omdirigera sammansättningsversioner på appnivå i artikeln Omdirigering av sammansättningsversioner.
ASP.NET värdbaserad app.
Mer information om ASP.NET konfigurationsfiler finns i ASP.NET Configuration Inställningar.
Internet Explorer-värdbaserad app.
Om en app som finns i Internet Explorer har en konfigurationsfil anges platsen för den här filen i en
<link>
tagg med följande syntax:<link rel="*ConfigurationFileName*" href="*location*">
I den här taggen
location
är en URL till konfigurationsfilen. Detta anger appbasen. Konfigurationsfilen måste finnas på samma webbplats som appen.
Säkerhetskonfigurationsfiler
Säkerhetskonfigurationsfiler innehåller information om kodgruppshierarkin och behörighetsuppsättningar som är associerade med en principnivå. Vi rekommenderar starkt att du använder verktyget Code Access Security Policy (Caspol.exe) för att ändra säkerhetsprincipen för att säkerställa att principändringar inte skadar säkerhetskonfigurationsfilerna.
Anteckning
Från och med .NET Framework 4 finns säkerhetskonfigurationsfilerna endast om säkerhetsprincipen har ändrats.
Säkerhetskonfigurationsfilerna finns på följande platser:
Konfigurationsfil för företagsprincip: %runtime-install-path%\Config\Enterprisesec.config
Konfigurationsfil för datorprincip: %runtime-install-path%\Config\Security.config
Konfigurationsfil för användarprinciper: %USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config