Kézikönyv c #, fordítóprogram

Tény, hogy szükség van egy nagyméretű alkalmazásokat egyetlen C # parancssori fordító nem következhet be, azonban fontos megérteni, általában hogyan lehet manuálisan lefordítani a kódot fájlokat. Számos oka van annak, amiért a szóban forgó folyamat hasznos lehet:

Akkor működik az egyetemen, ahol az eszközök használata generálni kódot és IDE-médiát általában tilos.

Úgy tervezte, hogy az automatizált tervezési eszközöket, mint például a msbuild.exe, hogy kell tudni, hogy a parancssor használt eszközök lehetőséget.

Van egy vágy, hogy elmélyítsék ismereteiket a C #. A grafikus IDE-környezetvédelmi végül végül biztosítja a fordító csc.ehe utasítást, hogy mit kell tenni a bemeneti fájl C # kódot. Ebben a tekintetben a tanulmány, hogy mi történik a „színfalak mögött” lehetővé teszi, hogy megszerezzék a szükséges ismereteket.

Másik előnye a megközelítés használatával egyetlen csc.ehe fordítóprogram, hogy lehetővé teszi, hogy megszerezzék a készségek és sokkal magabiztosabb, ha dolgozik, más parancssori eszközöket, amelyek részei a .NET-keretrendszer 4.0 SDK. mivel számos fontos közművek csak akkor működik, parancssoros módban.

Amikor elkészült, mentse a fájlt TestApplication.cs. Most vessünk egy pillantást a legfontosabb opciókat a C # fordító.

Megjegyzés célba bemeneti és kimeneti paramétereket

Először is fontos megérteni, hogy adja meg a nevét és típusát, az összeállítás létre (azaz például egy konzolos alkalmazás nevű Myshell.exe, kód könyvtár nevű MathLib.dll vagy Windows Presentation Foundation nevű alkalmazás Halo8.ehe). Mind a lehetőség egy megfelelő zászló, amelyet továbbítani kell a fordító csc.ehe a parancssori paraméter.

Megjegyezzük, hogy a számukra átadott parancssori fordító (valamint a legtöbb egyéb parancssori eszközök) is csatolni kell egy előtag, mint egy kötőjelet (-) szimbólum vagy egy perjel (/).

Output paraméterek hozhat a C # fordító mutatja a következő táblázat tartalmazza:

Compiler Options csc.exe

Ez a paraméter adja meg a nevét, amely a szerelvény. Alapértelmezésben a szerelvény is ugyanazt a nevet, mint a bemeneti file * .SS

Ez az opció lehetővé teszi, hogy egy végrehajtható konzol alkalmazás. Az összeállítás Az ilyen típusú alaptól, mert ez a beállítás lehet csökkenteni, hogy hozzon létre egy hasonló app

Ez az opció lehetővé teszi, hogy egy fájl szerelés * .dll

Ez az opció lehetővé teszi, hogy hozzon létre egy modult. A modulok elemek többfájlos összeállítások

Bár az alkalmazás egy grafikus felhasználói felület segítségével lehet létrehozni paraméter / target: exe, opció / target: winexe megakadályozza, hogy a konzol ablak megnyitása mellett a többi ablak

Összeállításához TestApplication.cs TestApplication.exe egy konzolos alkalmazás, menj a könyvtárba, ahol a forrás fájl mentése (a cd zászló), és írja be a következő parancsot:

Kézikönyv c #, fordítóprogram

Felhívjuk figyelmét, hogy itt a C: \ myproject - a mappa elérési útját, ahol a fájl található TestApplication.cs. Szintén fontos megjegyezni, hogy a zászló / ki kifejezetten nem az itt megadott, így egy futtatható fájl lesz a neve TestApplication.ehe annak a ténynek köszönhető, hogy a neve a bemeneti fájl TestApplication. Ezen kívül szinte minden által hozott C # fordító zászlók támogatott rövidített változata az írás, mint a / t helyett / cél (a teljes lista látható beírja a parancssor CSC -?).

Most próbálja futtatni TestApplication.ehe alkalmazást a parancssorból a neve annak futtatható fájl:

Kézikönyv c #, fordítóprogram

Hozzátéve linkek, összeszerelés

Lássuk, hogyan kell összeállítani olyan alkalmazás, amely meghatározott típusok külön összeállítás .NET. Ha továbbra sem világos, hogy a C # fordító képes volt megérteni a hivatkozás típusú System.Console, ne feledje, hogy fordítás közben automatikusan utalást tesz Mscorlib.dll (ha valamilyen szokatlan ok, meg kell tiltani ezt a funkciót, akkor kell átadni, hogy a fordító CSC. exe paraméter / nostdlib).

TestApplication Mi az alkalmazás módosítására úgy, hogy megnyit egy ablakot Windows Forms üzenetet. Ehhez nyitott TestApplication.cs fájlt, és módosítsa az alábbiak szerint:

Továbbá, a parancssorban kell tájékoztatni a fordító csc.exe mit szerelvény tartalmazza a névtér használni. Az itt használt MessageBox osztály a System.Windows.Forms névtér, akkor meg kell mondani, hogy a fordító System.Windows.Forms.dll összeállítás, ami történik, a zászló / referencia (vagy annak egy rövidebb változatát / r):

Kézikönyv c #, fordítóprogram

Ha most próbálja meg újra futtatni az alkalmazást, amellett, hogy a konzol kimenetet kell megjelennie is egy üzenet doboz:

Kézikönyv c #, fordítóprogram

By the way, mit kell tennie, ha meg kell adnia a számos külső szerelvények csc.exe? Ehhez csak meg kell felsorolni minden szerelvényt, elválasztva. Ebben a példában, lásd több szerelvények szükség van, de itt van egy parancs, amely szemlélteti a transzfer szett összeállítás:

CSC /r:System.Windows.Forms.dll;System.Drawing.dll * .cs

Összeállítása több forrás fájlok

A jelen példa TestApp.exe alkalmazás segítségével jött létre egy forráskód file *. cs. Bár határozza meg az összes típusú .NET egyetlen fájlba * .cs tökéletesen elfogadható a legtöbb esetben a projektek amelyek több fájl * .cs kód alapja, hogy nagyobb rugalmasságot. Annak érdekében, hogy tisztább, hozzunk létre egy új osztályt, és mentse el a fájlt nevű HelloMessage.cs:

Változás az eredeti osztály TestApplication úgy, hogy használják az új típusú osztály:

A fordításhoz Forráskódfájlok a C #. kell őket kifejezetten mint bemeneti fájlokat:

A lehetővé teszi, hogy egy karaktert (*) C # fordító alternatívájaként felvétele a jelenlegi összeállítás összes fájl * .cs, amely tartalmazza a projekt könyvtárban:

Kézikönyv c #, fordítóprogram

A következtetés után kapott a program megkezdése megegyezik az előző program. Az egyetlen különbség ezen alkalmazások sokfélesége miatt a logika több fájlon keresztül.

Munka válasz fájlokat a C #

Nem nehéz kitalálni, hogy hozzon létre egy C # egy komplex alkalmazás a parancssorból kellene ezt az unalmas számú bemeneti paraméterek a fordító észre, hogy ő kezelje a forráskódot. Ennek elősegítése érdekében a fordító C # támogatja az úgynevezett válasz fájlt (válasz fájlok).

Most, miközben a fájl ugyanabban a könyvtárban, mint a téma, hogy összeállítja a forráskód fájlokat a C #, akkor hozza létre a teljes alkalmazás a következő (Figyeljük meg a @ jel):

Ha szükséges, akkor adja megengedett, és számos választ * .rsp fájlok bemeneti paraméterek (pl CSC @ FirstFile.rsp @ SecondFile.rsp @ ThirdFile.rsp). Ezzel a megközelítéssel azonban meg kell jegyezni, hogy a fordító feldolgozza a parancsot opciók, amint elérhetővé válnak. Ezért a parancssori szereplő beérkező újabb * .rsp fájl felülírhatja a beállításokat az előző válasz fájlt.

Az utolsó pont kapcsolódik a válasz fájlt, hogy meg kell említeni, hogy a C # fordító kapcsolódó csc.rsp válasz fájl által használt alapértelmezett található és ugyanabban a könyvtárban, mint a csc.ehe fájlt (általában C: \ Windows \ Microsoft. NET \ Framework \. hol helyezze a tétel egy adott platformon verziószám). Csc.rsp megnyitja a fájlt a Jegyzettömb (Notepad), akkor láthatjuk, hogy ez a zászló / r: Megadott sok .NET assembly, beleértve a különböző könyvtárak webes alkalmazás fejlesztés, programozás LINQ technológia és a adatok és más kulcsfontosságú könyvtárak (amellett természetesen, a legtöbb fő könyvtár Mscorlib.dll):

Kézikönyv c #, fordítóprogram

Érdemes megjegyezni, hogy ha felveszi a lehetőség / r szerelvény hivatkozások, amelyek ténylegesen fel nem használt, a fordító figyelmen kívül hagyja őket. Ezért kell aggódnia „duzzanat kód” nem szükséges.

Kapcsolódó cikkek