Hva er App.config i C#.NET? Hvordan bruker man det?

Jeg har gjort et prosjekt i C#.NET der databasefilen min er en Excel-arbeidsbok. Siden plasseringen av tilkoblingsstrengen er hardkodet i kodingen min, er det ikke noe problem å installere den i mitt system, men det er det for andre systemer.

Finnes det en måte å be brukeren om å angi en bane en gang etter at installasjonen av programmet er fullført?

Svarene jeg fikk var "Use App.Config"... kan noen fortelle hva denne App.config er og hvordan jeg kan bruke den i min sammenheng her?

I sin enkleste form er app.config en XML-fil med mange forhåndsdefinerte konfigurasjonsseksjoner og støtte for egendefinerte konfigurasjonsseksjoner. En "konfigurasjonsseksjon" er en XML-fil med et skjema som er ment å lagre en eller annen type informasjon.

Innstillinger kan konfigureres ved hjelp av innebygde konfigurasjonsseksjoner som connectionStrings eller appSettings. Du kan legge til dine egne egendefinerte konfigurasjonsseksjoner; dette er et avansert tema, men svært nyttig for å bygge konfigurasjonsfiler med sterke typer.

Webapplikasjoner har vanligvis en web.config, mens Windows GUI/tjenesteapplikasjoner har en app.config-fil.

Konfigurasjonsfiler på applikasjonsnivå arver innstillinger fra globale konfigurasjonsfiler, f.eks. machine.config.

Lese fra app.config

Tilkoblingsstrenger har et forhåndsdefinert skjema som du kan bruke. Merk at dette lille utdraget faktisk er en gyldig app.config-fil (eller web.config):

<?xml version="1.0"?>




Når du har definert app.config, kan du lese den i kode ved hjelp av klassen ConfigurationManager. Ikke la deg skremme av de lange MSDN-eksemplene; det er faktisk ganske enkelt.

string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;

Skrive til App.Config

Det er vanligvis ikke en god idé å endre *.config-filene ofte, men det høres ut som om du bare ønsker å utføre et engangsoppsett.

Se: https://stackoverflow.com/q/502411/453277 som beskriver hvordan du oppdaterer delen connectionStrings i *.config-filen ved kjøring.

Merk at du ideelt sett bør utføre slike konfigurasjonsendringer fra et enkelt installasjonsprogram.

Plassering av App.Config ved kjøring

*Q: Anta at jeg endrer noen verdier manuelt i app.config, lagrer dem og deretter lukker dem. Når jeg nå går til bin-mappen og starter .exe-filen herfra, hvorfor gjenspeiler den ikke endringene?

A: Når du kompilerer et program, kopieres app.config til bin-mappen med et navn som samsvarer med exe-filen. Hvis exe-programmet for eksempel heter "test.exe", skal det finnes en "text.exe.config" i bin-katalogen. Du kan endre konfigurasjonen uten å kompilere på nytt, men da må du redigere konfigurasjonsfilen som ble opprettet ved kompileringen, ikke den opprinnelige app.config.

1: Vær oppmerksom på at web.config-filer ikke flyttes, men forblir på samme sted ved kompilerings- og distribusjonstidspunktet. Et unntak fra dette er når en web.config er transformert.

.NET Core

Nye konfigurasjonsalternativer ble introdusert med .NET Core. Måten *.config-filer fungerer på ser ikke ut til å ha endret seg, men utviklere står fritt til å velge nye, mer fleksible konfigurasjonsparadigmer.

Kommentarer (2)

App.Config er en XML-fil som brukes som konfigurasjonsfil for applikasjonen. Med andre ord lagrer du alle innstillinger som du ønsker å endre uten å måtte endre koden (og kompilere på nytt). Den brukes ofte til å lagre tilkoblingsstrenger.

Se denne MSDN-artikkelen om hvordan du gjør det.

Kommentarer (0)

Du får tilgang til tastene i App.Config ved hjelp av:

ConfigurationSettings.AppSettings["KeyName"]

Ta en titt på denne tråden.

Kommentarer (1)