Kas yra App.config C#.NET? Kaip ją naudoti?

Atlikau projektą C#.NET, kuriame mano duomenų bazės failas yra "Excel" darbaknygė. Kadangi ryšio eilutės vieta yra kietai užkoduota mano koduotėje, ją įdiegti mano sistemoje nėra jokių problemų, tačiau kitose sistemose jų kyla.

Ar yra būdas pasiūlyti naudotojui vieną kartą nustatyti kelią, kai baigiama diegti programa?

Atsakymai, kuriuos gavau, buvo "Use App.Config"... Ar kas nors gali pasakyti, kas yra tas App.config ir kaip jį naudoti mano kontekste čia?

Paprasčiausiai app.config yra XML failas su daugybe iš anksto nustatytų konfigūracijos skirsnių ir pasirinktinių konfigūracijos skirsnių palaikymu. Konfigūracijos skirsnis yra XML fragmentas su schema, skirta tam tikrai informacijai saugoti.

Nustatymus galima konfigūruoti naudojant integruotus konfigūracijos skyrius, tokius kaip connectionStrings arba appSettings. Galite pridėti savo pasirinktinius konfigūracijos skyrius; tai pažengusi tema, bet labai naudinga kuriant stipriai tipizuotus konfigūracijos failus.

Interneto programose paprastai yra web.config, o "Windows" grafinės sąsajos / paslaugų programose - app.config failas.

Programos lygmens konfigūracijos failai paveldi nustatymus iš visuotinių konfigūracijos failų, pvz., machine.config.

Skaitymas iš App.Config

Jungčių eilutės turi iš anksto nustatytą schemą, kurią galite naudoti. Atkreipkite dėmesį, kad ši nedidelė ištrauka iš tikrųjų yra galiojantis app.config (arba web.config) failas:

<?xml version="1.0"?>




Apibrėžę savo app.config, galite jį perskaityti kodu naudodami ConfigurationManager klasę. Neišsigąskite daugžodžių MSDN pavyzdžių; iš tikrųjų tai gana paprasta.

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

Įrašymas į App.Config

Dažnai keisti *.config failus paprastai nėra gera idėja, tačiau panašu, kad norite atlikti tik vienkartinį nustatymą.

Žr. https://stackoverflow.com/q/502411/453277, kuriame aprašyta, kaip paleidimo metu atnaujinti *.config failo connectionStrings skirsnį.

Atkreipkite dėmesį, kad idealiu atveju tokius konfigūracijos pakeitimus turėtumėte atlikti iš paprastos diegimo programos.

App.Config vieta paleidimo metu

*Q: Tarkime, rankiniu būdu pakeičiu tam tikrą `` app.config, ją išsaugau ir uždarom. Kodėl dabar, kai einu į savo šiukšlių aplanką ir iš jo paleidžiu .exe failą, jame neatsispindi atlikti pakeitimai?

A: Kai kompiliuojate programą, jos app.config nukopijuojamas į bin katalogą1 su pavadinimu, atitinkančiu jūsų exe. Pavyzdžiui, jei jūsų exe buvo pavadinta "test.exe", jūsų bin kataloge turėtų būti "text.exe.config". Konfigūraciją galite pakeisti nekompiliavę iš naujo, tačiau jums reikės redaguoti konfigūracijos failą, kuris buvo sukurtas kompiliavimo metu, o ne originalų app.config.

1: Atkreipkite dėmesį, kad web.config failai nėra perkeliami, o lieka toje pačioje vietoje kompiliavimo ir diegimo metu. Viena iš išimčių yra tada, kai web.config yra transformuotas.

.NET Core

Su ".NET Core" įdiegtos naujos konfigūracijos parinktys. Atrodo, kad *.config failų veikimo būdas nepasikeitė, tačiau kūrėjai gali laisvai rinktis naujas, lankstesnes konfigūravimo paradigmas.

Komentarai (2)

App.Config yra XML failas, naudojamas kaip jūsų programos konfigūracijos failas. Kitaip tariant, jame saugomi visi nustatymai, kuriuos norite pakeisti nekeisdami kodo (ir nekompiluodami iš naujo). Jis dažnai naudojamas ryšio eilutėms saugoti.

Kaip tai padaryti, žr. šiame MSDN straipsnyje.

Komentarai (0)

Raktus, esančius App.Config, galite pasiekti naudodami:

ConfigurationSettings.AppSettings["KeyName"]

Peržiūrėkite šią giją

Komentarai (1)