[C#] Visual Studio: commandline compiler

Pagina: 1
Acties:
  • 168 views sinds 30-01-2008
  • Reageer

  • monnick
  • Registratie: December 2005
  • Niet online
Ik ben bezig met het leren van C#. Ik gebruik daarvoor Visual Studio 8. In het boek dat ik lees over C# staat erg veel over een commandline compiler die bij die vStudio zou zitten. Deze commandline compiler zou erg prettig zijn in gebruik en naarmate je meer programmeer ervaring hebt zou je meer gebruik maken van deze compiler. Nu zou ik graag eens een kijkje nemen naar deze command line compiler.

Volgens verschillende bronnen op internet zou dit een .bat bestand zijn of een .exe bestand (met de naam csc.exe :?). Echter als ik mijn hele PC afzoek naar die programma's vind ik helemaal niks. Ook heb ik gegoogled en in de MSDN library gezocht, ik vind erg veel over die compiler alleen helemaal niet over hoe ik hem kan starten.

Ow, nu tijdens mijn laatste zoekactie onder het typen van dit bericht is mijn is het bestand csc.exe gevonden.

Het bestand staat dus in de map van het .NET framework en niet in de map van Visual Studio zoals ik eerder heb gelezen.

Nu doemt het volgende probleem op....Ik probeer de compiler te starten, een DOS schermpje springt op en verdwijnd weer even zo snel. Dan probeer ik csc.exe te openen via een ander DOS scherm.

Ik krijg de volgende fout: Fatal Error: CS2008: No inputs specified

Als ik dan bijvoorbeeld de file Test.cs in de map zet waar ook csc.exe staat en ik type:
csc.exe /target.......

Ow, alweer iets opgelost onder het schrijven. Het volgende werkt:
csc.exe /target:exe Test.cs

Test.exe word aangemaakt en in de map van het framework gezet.

Alleen nu mijn definitieve vraag. Hoe is deze compiler simpel te gebruiken? Nu moet ik het te compilen CS bestand kopieren naar de framework map en dan laten compileren. Dat lijkt me een beetje omslachtige manier. Kan dit makkelijker? :o

Alvast bedankt.

  • whoami
  • Registratie: December 2000
  • Laatst online: 13-02 22:55
-> DT&E
Deze commandline compiler zou erg prettig zijn in gebruik en naarmate je meer programmeer ervaring hebt zou je meer gebruik maken van deze compiler
Die command line compiler is gewoon dezelfde compiler als diegene die door VS.NET gebruikt wordt. Ik heb zelf nog nooit iet gecompileerd mbhv commandline in .NET ;)

Verder, als je toch perse iets via de commandline wilt compileren, gewoon ff: Start / Run / cmd.exe doen
dan csc /? intypen.

[ Voor 16% gewijzigd door whoami op 26-09-2006 21:30 ]

https://fgheysels.github.io/


  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08-2025
Zorg ervoor dat de directory waarin 'csc.exe' staat in uw path vermeld staat. En anders moet je maar eens 'csc /?' intypen.

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


  • monnick
  • Registratie: December 2005
  • Niet online
In mijn boek worden DLL bestanden omgezet tot DLL Libraries die ik dan in een code kan aanroepen door middel van Using.

Verder werkt het kopieeren van csc.exe naar een andere folder niet. Ik zou natuurlijk ook het volgende kunnen doen.

csc.exe /target:exe C:\Program Files\Blaat\Test.cs

maar daar krijg ik ook weer van die lamme vingers van. :X

  • whoami
  • Registratie: December 2000
  • Laatst online: 13-02 22:55
Als je VS.NET hebt, waarom zou je dan uberhaupt iets willen compilen via de command-line ? Waarom zo spartaans doen als je een schitterende tool voor je hebt die achter de schermen ook gewoon csc aanroept ?

https://fgheysels.github.io/


  • monnick
  • Registratie: December 2005
  • Niet online
Oke vooruit dan gebruik ik die command line compiler niet. Alleen ik zit nu even te googelen hoe dan nu van uit Visual Studio een broncode te compileren naar een DLL library alleen dan vind ik alleen maar voorbeelden die gebruik maken van die commandline compiler.... |:(

Verwijderd

Dit doen ze voor een breder publiek omdat niet iedereen visual studio heeft maar wel de .NET framework met de compiler.

Moet zeggen dat het leuk is om te leren maar uiteindelijk gebruik je toch VS voor projecten.

[ Voor 28% gewijzigd door Verwijderd op 26-09-2006 21:43 ]


  • monnick
  • Registratie: December 2005
  • Niet online
Verwijderd schreef op dinsdag 26 september 2006 @ 21:42:
Dit doen ze voor een breder publiek omdat niet iedereen visual studio heeft maar wel de .NET framework met de compiler.

Moet zeggen dat het leuk is om te leren maar uiteindelijk gebruik je toch VS voor projecten.
Ja dat zal best alleen nu weet ik nog steeds niet hoe ik dit moet doen. Ook als ik google op "C# compile as DLL Visual Studio" krijg ik geen werkende resultaten. :(

EDIT: *zucht* Ook MSDN geeft commandline oplossingen maar niks vanuit VS :|

[ Voor 12% gewijzigd door monnick op 26-09-2006 21:48 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 13-02 22:55
Compile als DLL ?
Je start in VS.NET gewoon een classlibrary project, en dat compileert naar een DLL.
Een WinForms app kan je niet naar een DLL compileren.

Waarom zo moeilijk doen ? Maak gewoon een solution, voeg daar een Classlibrary project aan toe, voeg een WinForms project toe, en je hebt een DLL en een exe.
Dan moet je gewoon nog de DLL referencen in je windows app, en je kan je dll gebruiken.

[ Voor 44% gewijzigd door whoami op 26-09-2006 21:53 ]

https://fgheysels.github.io/


  • phreggle
  • Registratie: Juni 2002
  • Niet online
whoami schreef op dinsdag 26 september 2006 @ 21:31:
Als je VS.NET hebt, waarom zou je dan uberhaupt iets willen compilen via de command-line ? Waarom zo spartaans doen als je een schitterende tool voor je hebt die achter de schermen ook gewoon csc aanroept ?
In grote projecten wordt de commandline compiler juist vaak gebruikt voor automatische build scripts voor continuous integration. (Zoektermen: nant, msbuild, cruise control .net) :)

In je eigen one-man projecten daarentegen kan je inderdaad prima vooruit met de luxe van je IDE.

  • whoami
  • Registratie: December 2000
  • Laatst online: 13-02 22:55
phreggle schreef op dinsdag 26 september 2006 @ 21:54:
[...]


In grote projecten wordt de commandline compiler juist vaak gebruikt voor automatische build scripts voor continuous integration. (Zoektermen: nant, msbuild, cruise control .net) :)
Ja, inderdaad, maar, dan gebruik je 'm ook niet 'direct'/rechtstreeks. Je configureert je build script, en verder hoef je niet meer naar csc om te kijken.

https://fgheysels.github.io/


  • monnick
  • Registratie: December 2005
  • Niet online
Oke, dank voor je goede hulp Whoami. Ik ga ermee aan de slag. :)

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 13-02 20:27
Just for the record.

Als je Visual Studio al hebt geinstaleerd krijg je in je start -> programma's lijst ook een mapje voor Visual Studio. Daarin weer een submap waarin je de "Visual Studio command prompt" (hangt misschien af van je versie) kunt aanroepen. Dwz een DOSbox, waarin al een aantal omgevingsvariabelen voor .NET zijn ingesteld. Zo kun je vanuit die promt gewoon csc aanroepen.

Je moet die omgevingsvariabelen instellen, want anders weet dat dosvenster neit waar die die csc.exe moet vinden. Je moet dus al in zo'n dosvenster zitten om commandline te kunnen werken, dus niet die exe aanklikken.

Soms komt die oude DOS kennis nog wel eens van pas :)

  • EfBe
  • Registratie: Januari 2000
  • Niet online
de commandline compiler is zeker handig, inderdaad in buildscripts maar ook bij het compileren van grote projecten, want dat kan echt minuten schelen.

vs.net installeert een bat bestand, vsvars32.bat, welke je kunt runnen om de paden goed te krijgen in je dos env.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • whoami
  • Registratie: December 2000
  • Laatst online: 13-02 22:55
maar ook bij het compileren van grote projecten, want dat kan echt minuten schelen.
Hmm, toch maar ff proberen dan...

https://fgheysels.github.io/


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

offtopic:
Leuk dat de console nog steeds DOSbox wordt genoemd :P

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-12-2025
phreggle schreef op dinsdag 26 september 2006 @ 21:54:
In grote projecten wordt de commandline compiler juist vaak gebruikt voor automatische build scripts voor continuous integration.
Niet nodig; al vanaf VS6 kun je vanaf de commandline VS de opdracht geven om een build te doen. Dan kun je dus ook je solution files blijven gebruiken.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

EfBe schreef op woensdag 27 september 2006 @ 09:11:
de commandline compiler is zeker handig, inderdaad in buildscripts maar ook bij het compileren van grote projecten, want dat kan echt minuten schelen.
Ik heb er zelf een hekel aan om in VS te switchen tussen debug en release build; dat duurt soms een eeuwigheid bij grotere projecten. Via de cmdline kan je dat gewoon meegeven als parameter.

Release builds voer ik dus (bijna) altijd uit via de cmdline.

Today's subliminal thought is:

Pagina: 1