Kas ir App.config lietojumprogramma C#.NET? Kā to izmantot?

Esmu izveidojis projektu C#.NET, kurā mans datubāzes fails ir Excel darbgrāmata. Tā kā savienojuma virknes atrašanās vieta ir stingri kodēta manā kodējumā, manā sistēmā nav problēmu to instalēt, bet citās sistēmās ir.

Vai ir kāds veids, kā lietotājam vienreiz pēc lietojumprogrammas iestatīšanas pabeigšanas palūgt iestatīt ceļu?

Atbildes, ko es saņēmu, bija "Use App.Config"... vai kāds var pateikt, kas ir šis App.config un kā to izmantot manā kontekstā šeit?

Visvienkāršāk app.config ir XML fails ar daudzām iepriekš definētām konfigurācijas sadaļām un pielāgotu konfigurācijas sadaļu atbalstu. Konfigurācijas sadaļa ir XML fragments ar shēmu, kas paredzēta kāda veida informācijas glabāšanai.

Iestatījumus var konfigurēt, izmantojot iebūvētās konfigurācijas sadaļas, piemēram, connectionStrings vai appSettings. Varat pievienot savas konfigurācijas sadaļas; tas ir padziļināts temats, bet ļoti noderīgs, lai veidotu stingri tipizētus konfigurācijas failus.

Web lietojumprogrammām parasti ir web.config, bet Windows GUI/pakalpojumu lietojumprogrammām ir app.config fails.

Lietojumprogrammas līmeņa konfigurācijas faili manto iestatījumus no globālajiem konfigurācijas failiem, piemēram, machine.config.

App.config nolasīšana

Savienojuma virknēm ir iepriekš definēta shēma, ko varat izmantot. Ņemiet vērā, ka šis nelielais fragments patiesībā ir derīgs app.config (vai web.config) fails:

<?xml version="1.0"?>




Kad esat definējis savu app.config, varat to nolasīt kodā, izmantojot ConfigurationManager klasi. Nebaidieties no daudzrunīgajiem MSDN piemēriem; patiesībā tas ir pavisam vienkārši.

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

Rakstīšana uz App.Config

Bieža *.config failu maiņa parasti nav laba ideja, taču šķiet, ka jūs vēlaties veikt tikai vienreizēju iestatīšanu.

Skatīt: https://stackoverflow.com/q/502411/453277, kurā aprakstīts, kā atjaunināt *.config faila connectionStrings sadaļu darbības laikā.

Ņemiet vērā, ka ideālā gadījumā šādas konfigurācijas izmaiņas būtu jāveic no vienkārša uzstādīšanas programmas.

App.Config atrašanās vieta izpildes laikā

*Q: Pieļauju, ka es manuāli mainu kādu `` app.config, saglabāju to un pēc tam aizveru. Kāpēc tagad, kad es eju uz savu bin mapi un no tās palaižu .exe failu, tas neatspoguļo veiktās izmaiņas?

A: Kad kompilējat lietojumprogrammu, tās app.config tiek nokopēts bin mapē1 ar nosaukumu, kas atbilst jūsu exe. Piemēram, ja jūsu exe ir nosaukts "test.exe", bin direktorijā jābūt "text.exe.config". Konfigurāciju var mainīt bez pārkompilēšanas, bet jums būs jārediģē kompilēšanas laikā izveidotais konfigurācijas fails, nevis sākotnējais app.config.

1: Ņemiet vērā, ka web.config faili netiek pārvietoti, bet gan paliek tajā pašā vietā kompilēšanas un izvietošanas laikā. Izņēmums ir tad, ja web.config ir pārveidots.

.NET Core

Līdz ar .NET Core tika ieviestas jaunas konfigurācijas opcijas. Šķiet, ka *.config failu darbības veids nav mainījies, taču izstrādātāji var brīvi izvēlēties jaunas, elastīgākas konfigurācijas paradigmas.

Komentāri (2)

App.Config ir XML fails, kas tiek izmantots kā lietojumprogrammas konfigurācijas fails. Citiem vārdiem sakot, tajā tiek saglabāti visi iestatījumi, kurus vēlaties mainīt, nemainot kodu (un nepārkompilējot). To bieži izmanto, lai saglabātu savienojumu virknes.

Skatiet šajā MSDN rakstā, kā to darīt.

Komentāri (0)

Jūs varat piekļūt App.Config atslēgām, izmantojot:

ConfigurationSettings.AppSettings["KeyName"]

Paskatieties šis pavediens.

Komentāri (1)