Prep i Programmering 1 = YH Utbildning

Permalänk

Prep i Programmering 1 = YH Utbildning

Hej

Jag använder programmet MS Visual Studio Community 207 i kursen. Har dock svårt veta hur jag ska köra koden, bra om man vet att man gör rätt

Kan någon hjälpa mig?

Mvh Fredrik

Visa signatur

Computer: Windows 11, 64-bit, Intel 285k, MSI MEG Z890 Ace, 64GB RAM,
MSI GeForce RTX 5080 16GB Vanguard SOC Launch

Permalänk
Medlem

@freddehboy
f5 compilerar och startar ditt program i visual studio

Annars finns det en grön startsymbol i det övre menu fältet.

f5 stänger även av programmet om det har tex krashat

Visa signatur

[4770k delid] [1080 EK] [PG348Q] [Custom loop][1.75TB SSD]

Permalänk
Skrivet av theo0019:

@freddehboy
f5 compilerar och startar ditt program i visual studio

Annars finns det en grön startsymbol i det övre menu fältet.

f5 stänger även av programmet om det har tex krashat

Jaha det har jag provat Hade för mig att det var så men jag ser den gröna pile uppe i fältet men det står att jag ska göra en "Attach to a Process"?

Visa signatur

Computer: Windows 11, 64-bit, Intel 285k, MSI MEG Z890 Ace, 64GB RAM,
MSI GeForce RTX 5080 16GB Vanguard SOC Launch

Permalänk

Försöker köra koden:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleAppplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Hallo World!"); Console.ReadLine(); } } }

Högerklickar jag på koden får jag upp:
Run Tests
Debugg Tests

Kör de och får detta:

[2018-04-12 20:56:27 Error] System.ArgumentNullException: Value cannot be null. Parameter name: solutionDirectory at Microsoft.VisualStudio.TestPlatform.ObjectModel.ValidateArg.NotNull[T](T arg, String parameterName) at Microsoft.VisualStudio.TestWindow.Controller.TestRunConfiguration..ctor(TestContainerConfigurationQuery testRunQuery, String resultsDirectory, String solutionDirectory, Boolean ignoreDiscovery, ILogger logger, Boolean keepAlive) at Microsoft.VisualStudio.TestWindow.Controller.RequestConfigurationFactory.CreateTestRunConfigurationBase(TestContainerConfigurationQuery query, Boolean ignoreDiscovery) at Microsoft.VisualStudio.TestWindow.Controller.RequestConfigurationFactory.CreateTestRunConfigurationAsync(HostContext context) at Microsoft.VisualStudio.TestWindow.Controller.RunFromContextOperation.CreateRunConfiguration() at Microsoft.VisualStudio.TestWindow.Controller.RunOperation.get_RunConfiguration() at Microsoft.VisualStudio.TestWindow.Controller.RunOperation.<RunTestsAsync>d__12.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.VisualStudio.TestWindow.Controller.RunOperation.<ExecuteInternal>d__13.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.VisualStudio.TestWindow.Controller.Operation.<ExecuteWithEvents>d__40.MoveNext()

Vad betyder den här grekiskan?

Visa signatur

Computer: Windows 11, 64-bit, Intel 285k, MSI MEG Z890 Ace, 64GB RAM,
MSI GeForce RTX 5080 16GB Vanguard SOC Launch

Permalänk
Medlem

Jag säger starta ett nytt console projekt och kör "Hello World" igen, borde gå att köra debug med antingen f5 eller den gröna pilen.

Visa signatur

Win 10 maskin: Core 2500 | Integra M 550W | Ryzen 5 3600 | MSI B450 A Pro max | GTX 1060 6GB | Vengeance LPX 2x16GB
Win XP maskin: Core 1100 | 550W | AMD Athlon II | MSI GF615M-P33 | ATI HD5670 | 2x2GB
Laptop: Lenovo Flex 3-1580

Permalänk
Medlem

Det verkar vara ett fel med ditt projekt.
Prova skapa en ny konsol applikation och knappa in din kod.

Visa signatur

5800X3D, RX 7900 XTX, 32gb RAM.

Permalänk
Medlem

Kanske går det inte att köra programmet när fältet "main" är tomt och inte returnerar något. Eller så är det som ovanstående säger något fel på ditt projekt.

Visa signatur

[4770k delid] [1080 EK] [PG348Q] [Custom loop][1.75TB SSD]

Permalänk
Medlem

@theo0019: Main är inte tomt, men ligger vääääldigt långt åt höger (du får skrolla för att se koden)

Visa signatur

Win 10 maskin: Core 2500 | Integra M 550W | Ryzen 5 3600 | MSI B450 A Pro max | GTX 1060 6GB | Vengeance LPX 2x16GB
Win XP maskin: Core 1100 | 550W | AMD Athlon II | MSI GF615M-P33 | ATI HD5670 | 2x2GB
Laptop: Lenovo Flex 3-1580

Permalänk
Medlem
Skrivet av theo0019:

Kanske går det inte att köra programmet när fältet "main" är tomt och inte returnerar något. Eller så är det som ovanstående säger något fel på ditt projekt.

void innebär att metoden inte har något returvärde, och Main är inte tom

Jag tror också något galet har hänt med projektet

Permalänk
Medlem
Skrivet av AReal_Human:

@theo0019: Main är inte tomt, men ligger vääääldigt långt åt höger (du får skrolla för att se koden)

¨
aha, såg inte det

Skrivet av elBenko:

void innebär att metoden inte har något returvärde, och Main är inte tom

Jag tror också något galet har hänt med projektet

Detta vet jag, dock blev jag nog lite distraherad av faktumet att vi i c++ var tvungna att returnera 0 i main. Då hette det "int main" och inte void såklart. Kollade nog över det hela lite väl snabbt eftersom jag även missade hela koden

Visa signatur

[4770k delid] [1080 EK] [PG348Q] [Custom loop][1.75TB SSD]

Permalänk
Medlem

Det kan som sagt vara att ditt projekt blivit fel på något sätt, men det verkar också som att man kan få det här felet även när man helt enkelt inte har något projekt alls. Så se först och främst till att du faktiskt arbetar med ett projekt, och inte bara har öppnat en ny fil som du försöker kompilera.

Skrivet av theo0019:

Detta vet jag, dock blev jag nog lite distraherad av faktumet att vi i c++ var tvungna att returnera 0 i main. Då hette det "int main" och inte void såklart.

main i C++ är faktiskt det enda undantaget till den regeln, om slutet av main nås utan att något annat returnerats så returneras automatiskt 0.

Permalänk
Medlem

Felet du får är för att du kör tester och inte ha några tester på ditt projekt så vs får tillbaka null när den letar för testerna.
Troligtvis har du lagt till flera projekt i din solution och kör lib eller nått som start projekt.
Testa att högerklicka på ditt projekt(dvs ikonen med C# samt namnet "ConsoleApplication1") sen Debug > Start new instance

Högerklickar du på ditt projekt och väljer "set as StartUp Project" så borde f5 fungera bra igen.

Permalänk

Nu har jag modifierat programmet att inkludera .Net bilbliotek. Verkar ha varit det men de:

Som synes får jag nu:
"(7,1): error CS7021: Cannot declare namespace in script code"

Ska se vad jag får när jag googlar

Visa signatur

Computer: Windows 11, 64-bit, Intel 285k, MSI MEG Z890 Ace, 64GB RAM,
MSI GeForce RTX 5080 16GB Vanguard SOC Launch

Permalänk

Har adderat: "string[] args" i Main(), ska nämnas att videon i kursen ä'r från Express 2010!

Får nu: "(7,1): error CS7021: Cannot declare namespace in script code " ?

Visa signatur

Computer: Windows 11, 64-bit, Intel 285k, MSI MEG Z890 Ace, 64GB RAM,
MSI GeForce RTX 5080 16GB Vanguard SOC Launch

Permalänk
Medlem

@freddehboy: Men på den bilden har du ju klistrat in koden i C# Interactive, varför då? Som tidigare sagts, så ska du starta debuggern genom att antingen klicka på Play/Start-knappen i toppen eller trycka på F5.

C# Interactive-fönstret tillåter inte att du deklarerar namespaces, vilket den informerar dig om på den raden du försöker göra det.

Permalänk

Tror att det fungerar nu f¨år upp "Hello World" i output fönstret

Visa signatur

Computer: Windows 11, 64-bit, Intel 285k, MSI MEG Z890 Ace, 64GB RAM,
MSI GeForce RTX 5080 16GB Vanguard SOC Launch

Permalänk

När jag använder metoden "Console.ReadLine();" hoppas körningen över min input dvs. den kör förbi?

Min kod:
Console.WriteLine("Skriv två tal som adderas ihop:");

string strTal1 = Console.ReadLine();
string strTal2 = Console.ReadLine();
int tal1 = Convert.ToInt32(strTal1);
int tal2 = Convert.ToInt32(strTal2);

Console.WriteLine("Summan av + tal1 & tal2 + är: + tal1 + tal2");

Readline ska ju vänta på input från mig???

Visa signatur

Computer: Windows 11, 64-bit, Intel 285k, MSI MEG Z890 Ace, 64GB RAM,
MSI GeForce RTX 5080 16GB Vanguard SOC Launch

Permalänk
Medlem
Skrivet av freddehboy:

När jag använder metoden "Console.ReadLine();" hoppas körningen över min input dvs. den kör förbi?

Min kod:
Console.WriteLine("Skriv två tal som adderas ihop:");

string strTal1 = Console.ReadLine();
string strTal2 = Console.ReadLine();
int tal1 = Convert.ToInt32(strTal1);
int tal2 = Convert.ToInt32(strTal2);

Console.WriteLine("Summan av + tal1 & tal2 + är: + tal1 + tal2");

Readline ska ju vänta på input från mig???

Om du skriver kod på forumet så använd "[code]" taggar.

Console.ReadLine();

väntar på input, så du gör något fel Testa dig fram istället för att fråga om varje liten sak här.

Permalänk

Jaja

Visa signatur

Computer: Windows 11, 64-bit, Intel 285k, MSI MEG Z890 Ace, 64GB RAM,
MSI GeForce RTX 5080 16GB Vanguard SOC Launch