< .Net Core

.Net Core Konzol

Szerző: Sallai András

Copyright © 2017, Sallai András

Szerkesztve: 2017, 2019, 2021, 2022, 2023

Licenc: 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

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.

<GenerateProgramFile>false</GenerateProgramFile>
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <GenerateProgramFile>false</GenerateProgramFile> </PropertyGroup> </Project>

Ú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ő.

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