[[oktatas:programozás:csharp:dotnetcore|< .Net Core]] ====== .Net Core Konzol ====== * **Szerző:** Sallai András * Copyright (c) 2017, Sallai András * Szerkesztve: 2017, 2019, 2021, 2022, 2023 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Beszerzés ===== A .Net beszerzése: * https://dotnet.microsoft.com/download (2019) ===== Visual Studio Code ===== Telepítendő bővítmény: * C# * dotnet ===== Új C# alkalmazás készítése ===== mkdir app01 cd app01 dotnet new console Az app01 könyvtár létrehozható a dotnet parancs -o kapcsolójával: dotnet new console -o app01 cd app01 Futtatás: dotnet run ===== Keretrendszer megadása ===== dotnet new console --framework net7.0 ===== Main() függvény nélkül ===== // See https://aka.ms/new-console-template for more information Console.WriteLine("Hello, World!"); Figyelmeztetést kapunk: dotnet run /home/janos/.nuget/packages/microsoft.net.test.sdk/17.1.0-release-20220113-05/build/netcoreapp2.1/Microsoft.NET.Test.Sdk.Program.cs(4,41): warning CS7022: The entry point of the program is global code; ignoring 'AutoGeneratedProgram.Main(string[])' entry point. [/home/janos/dev/gyak/dotnet/app10/app10.csproj] Szúrjuk be a következő sort az app01.csproj fájlba. false Exe net6.0 enable enable false Újabb futtatás után a figyelmeztetés eltűnik. ===== dotnet ===== === Függőségek feloldása === Gépeljük be a következőt: dotnet restore Ez hozzáférést biztosít a .NET Core függőségekhez. === Futtatás === Futtassuk a Helló Világ programot. Gépeljük be a következőt: dotnet run A programkód futtatható így is: cd bin/Debug/netcoreapp1.1/ dotnet prog01.dll A futtatható állomány valójában egy .dll kiterjesztésű fájl. Készíthetünk adott platformra is futtatható állományt: dotnet restore -r debian.8-x64 dotnet build -c release -r debian.8-x64 dotnet publish -c release -r debian.8-x64 Ennek hatására létrejön a következő ELF bináris: bin/release/netcoreapp1.1/debian.8-x64/prog01 Más platformokra a -r kapcsoló után beírható paraméterek: * https://docs.microsoft.com/en-us/dotnet/core/rid-catalog ===== A Main() metódus ===== A .NET Core 3.1, illetve a .NET 5.0 óta nem kötelező a programban a Main() metódus megléte. A használata azonban nincs kizárva. class Program { static void Main() { Console.WriteLine("Helló Világ!"); } } ===== Függvények használata ===== Dolgozhatunk csak függvényekkel: static void message() { Console.WriteLine("Üdv!"); } message(); A static módosító nem kötelező. ===== Main metódus generálása ===== dotnet new console --use-program-main Keretrendszer verziójának megadása: dotnet new console --framework net8.0 --use-program-main ===== Linkek ===== * https://docs.microsoft.com/en-us/dotnet/csharp/getting-started/with-visual-studio-code * https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/program-structure/main-command-line