Avatar billede claushelth Nybegynder
14. november 2003 - 01:07 Der er 14 kommentarer og
1 løsning

Kompiler - Hvordan

Hejsa

Jeg er helt ny i .net, og har lige instaleret .net framework version v1.1.4322

Jeg skal bare finde ud af hvordan jeg kompiler mine programmer!

Jeg har lavet en test app:

using System;

class TestApp
{
    public static void Main()
    {
        Console.WriteLine("Hello World");
    }
}

Som ligger c/cs/HelloWorld.cs

Har forsøgt lidt forskellig, men vil ikke skrive det her da det vil forvirre mere end forklare :-)
Avatar billede claushelth Nybegynder
14. november 2003 - 01:24 #1
hmm.. ok nu kom jeg selv lidt videre. Jeg gik ind i mappen hvor compileren ligger med comandopromten c:/windows/microsoft.net/framwork/v1.1.4322
og skrev: csc HelloWorld.cs

:) Nu lagde den en exe fil inde i samme mappe.

Første problem: Den eksekvere filen for hurtigt...jeg når næsten ikke at se den...er der ikke en komando som i java, der holder programmet open, til man trykker en tast?
exit(0);  eller sådan noget?

Andet problem: Vil gerne compile i en anden mappe. F.eks c:/cs/
Her ligge mine kode filer og her vil jeg også have mine compilerede filer!

Der må være et sted i .net hvor man kan ændre instillingen for compileren, så den virker fra alle mapper!

Håber der er nogle der vil hjælpe
Avatar billede claushelth Nybegynder
14. november 2003 - 01:28 #2
Ellers var det måske en god ide at lave en bat fil der orndede det hele for mig...med input og output...ved desværre ikke hvordan disse laves!
Avatar billede claushelth Nybegynder
14. november 2003 - 01:56 #3
hvis min HelloWorld ligger i c:/cs/ mappen og jeg i komandopromten under
C:\cs>
skriver:
csc HelloWorld.cs
Får jeg følgende fejl:
'csc' is not recognized as an internal or external command, operable program or batch file.
..æv :(
Avatar billede omen Nybegynder
14. november 2003 - 03:11 #4
Din Console Application lukker selv ned når den ikke har mere at arbejde med. Alt den skal gøre er at skrive 'Hello World', og når den så har gjort det, ja lukker den ned. Nu tager det ikke al verdens tid for programmet at skrive den linie, derfor lukker den hurtigt ned igen!
Det du skal gøre er, åbn Windows' kommando prompt, og kør dit program derfra(simpelt ved at skrive navn.exe, så åbner den)! Så lukker prompten ikke ned!

Mht. at du ikke kan compile dit program, uden i gå til stien for csc.exe filen, så har Microsoft inkluderet noget smart! Gå ned i Start, Programmer, Microsoft Visual Studio .NET 2003, og derinde er der en mappe der hedder Visual Studio .NET Tools, og derinde skulle gerne ligge 'Visual Studio .NET 2003 Command Prompt'. Den kan du så bruge istedet for standard prompten der i indbygget i Windows. Nu kan du lige pludselig bruge csc fil.cs fra hvilket som helst sted!

Håber du kan bruge det til noget!
Avatar billede finger Nybegynder
14. november 2003 - 08:15 #5
alternativt kan du skrive en linie kode i dit program der venter på input fra bruger. Så lukker vinduet ikke ned inden du når at se noget.
Avatar billede clausc Nybegynder
14. november 2003 - 12:38 #6
omen:
Nu tror jeg ikke claushelth har Visual Studio, så løsningen er at tilføje c:/windows/microsoft.net/framwork til Path'en.

finger:
Yepper :) Tilføj "Console.ReadLine();" og se hvad der sker.
Avatar billede omen Nybegynder
14. november 2003 - 12:54 #7
clausc: Næj, kunne der jo være noget om! Doh! :-)
Avatar billede claushelth Nybegynder
14. november 2003 - 13:01 #8
hmm..takker for svarene, men er det ikke muligt at undgå at skrive hele pathen hver gang? Er der ikke en indstilling i frameworket der kan ændres, så det virker i windowsprompten?

Jeg har pt ikke visual studio...det er jo lidt smådyrt :-(

Er det ikke muligt at lave en slags make fil som man kan i C, eventuelt noget med en batch-fil?
Avatar billede claushelth Nybegynder
14. november 2003 - 13:09 #9
problemet med at compile inde fra c:/windows/microsoft.net/framwork... er jo at mit output også kommer til at ligge derinde.
Jeg forsøgt at sætte en parmeter på som skulle skrive output i c:/cs/ mappen , men den sagde at den ikke kunne få adgang til den (det vil jo sige at den i hvert fald fandt den)
Avatar billede claushelth Nybegynder
14. november 2003 - 14:00 #10
jeg sidder med en bog der hedder Inside C# af Tom Archer, og han skriver at hvis man får den fejl jeg tideligere fik så er det fordi .net SDK ikke er installeret. Men min er jo som sagt installeret, og så skriver han at det bør være muligt at kunne compile direkte fra den mappe man står i! (uden at have visual studio)
Avatar billede claushelth Nybegynder
14. november 2003 - 14:31 #11
det med at få programmet til at pause har jeg fået løst:
String str = Console.ReadLine();
Avatar billede finger Nybegynder
14. november 2003 - 15:25 #12
der burde ikke være noget i vejen for at lave en .bat fil til at "automaticere det du selv taster i prompten.
Du laver bare en fil i notepad og skriver linie for linie det der skal udføres og gemmer den som fx run.bat.

Du burde kunne bruger /out til at angive hvad filen skal hedde og hvor den skal ligge...
Avatar billede claushelth Nybegynder
14. november 2003 - 15:29 #13
hmm, ok, altså jeg har forsøgt, er det sådan at jeg kan se et eksempel på en sådan fil med output, fordi min ville ikke virke.
Avatar billede finger Nybegynder
14. november 2003 - 15:36 #14
csc /out:c:\test.exe class1.cs
Avatar billede claushelth Nybegynder
14. november 2003 - 15:47 #15
Mange tak for hjælpen :)

Det var rart...min bat fil kom til at se sådan her ud:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc /out:c:\cs\test.exe c:\cs\HelloWorld.cs

Både input og output i c:\cs\ mappen

Takker mange gange...også til jer andre :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester