(An English version of this articleisalsoavailable.)
J'ai plusieurs machines, dont une sous Linux. Puisqu'il s'agit d'une machine de bureau, je l'utilise souvent pour le développement, mais j'aimerais vous présenter l'environnement.
.NET Core est compatible avec plusieurs plates-formes, vous pouvez donc effectuer presque le même développement que Windows.
Voici ce que j'ai confirmé que c'est possible.
.NET Core .NET Core peut être utilisé avec la plupart des distributions majeures et divers packages sont disponibles, mais je voudrais recommander Shell Script. Installation à l'aide de / dotnet / core / tools / dotnet-install-script).
L'installation via des scripts shell facilite l'installation de plusieurs versions du runtime et des bibliothèques .NET Core.
Par exemple, si vous souhaitez installer la version LTS, cela ressemble à ceci:
./dotnet-install.sh --channel LTS
En outre, vous pouvez avoir besoin de bibliothèques supplémentaires qui doivent être installées. Celui qui semble généralement le moins souvent inclus est libicu.
Il n'est pas nécessaire que l'emplacement d'installation soit un emplacement accessible en écriture par l'utilisateur. Des modèles, outils, etc. supplémentaires sont sous le contrôle de chaque utilisateur.
Visual Studio Code Si vous souhaitez préparer gratuitement un environnement de développement, les combinaisons suivantes sont recommandées.
Avec ce qui précède, vous pouvez créer un environnement dans lequel vous pouvez commencer le développement.
JetBrains Rider Si vous êtes prêt à dépenser de l'argent pour votre environnement de développement, c'est une option à considérer JetBrains Rider. JetBrains est également le développeur de ReSharper, un plug-in de refactoring pour Visual Studio, qui fournit une assistance de codage avancée. Par conséquent, il peut être développé confortablement.
Rider a Rider seul, la version groupée Rider et ReSharper et le pack All Products comprenant tous les produits IDE. Pour plus de détails, veuillez consulter la Page d'achat. (Je m'abonne personnellement au All Products Pack car je peux également l'utiliser dans d'autres langues.) Non limité à Rider, la plupart des IDE JetBrains sont également disponibles dans d'autres environnements comme Windows. Puisqu'il peut être utilisé, il est également utile dans la mesure où le même IDE peut être utilisé sur plusieurs OS.
De plus, la gestion des paquets NuGet peut être effectuée graphiquement, elle est donc recommandée pour ceux qui ont de nombreuses opportunités de faire du C #.
En utilisant OmniSharp (également utilisé dans l'extension ci-dessus), vous pouvez utiliser Language Server Protocol comme vous le souhaitez. Il est également possible de développer avec un éditeur. Cette méthode dépend de l'éditeur, je vais donc l'omettre ici.
Une fois l'environnement en place, vous pouvez commencer le développement.
Utilisez la commande dotnet pour créer un projet.
dotnet new console -o myapp
Si vous l'exécutez sans aucun argument, vous verrez les modèles que vous pouvez utiliser:
dotnet new
Usage: new [options]
Options:
-h, --help Displays help for this command.
-l, --list Lists templates containing the specified name. If no name is specified, lists all templates.
-n, --name The name for the output being created. If no name is specified, the name of the current directory is used.
-o, --output Location to place the generated output.
-i, --install Installs a source or a template pack.
-u, --uninstall Uninstalls a source or a template pack.
--nuget-source Specifies a NuGet source to use during install.
--type Filters templates based on available types. Predefined values are "project", "item" or "other".
--dry-run Displays a summary of what would happen if the given command line were run if it would result in a template creation.
--force Forces content to be generated even if it would change existing files.
-lang, --language Filters templates based on language and specifies the language of the template to create.
--update-check Check the currently installed template packs for updates.
--update-apply Check the currently installed template packs for update, and install the updates.
Templates Short Name Language Tags
----------------------------------------------------------------------------------------------------------------------------------
Console Application console [C#], F#, VB Common/Console
Class library classlib [C#], F#, VB Common/Library
WPF Application wpf [C#] Common/WPF
WPF Class library wpflib [C#] Common/WPF
WPF Custom Control Library wpfcustomcontrollib [C#] Common/WPF
WPF User Control Library wpfusercontrollib [C#] Common/WPF
Windows Forms (WinForms) Application winforms [C#] Common/WinForms
Windows Forms (WinForms) Class library winformslib [C#] Common/WinForms
Worker Service worker [C#] Common/Worker/Web
Unit Test Project mstest [C#], F#, VB Test/MSTest
NUnit 3 Test Project nunit [C#], F#, VB Test/NUnit
NUnit 3 Test Item nunit-test [C#], F#, VB Test/NUnit
xUnit Test Project xunit [C#], F#, VB Test/xUnit
Razor Component razorcomponent [C#] Web/ASP.NET
Razor Page page [C#] Web/ASP.NET
MVC ViewImports viewimports [C#] Web/ASP.NET
MVC ViewStart viewstart [C#] Web/ASP.NET
Blazor Server App blazorserver [C#] Web/Blazor
Blazor WebAssembly App blazorwasm [C#] Web/Blazor/WebAssembly
ASP.NET Core Empty web [C#], F# Web/Empty
ASP.NET Core Web App (Model-View-Controller) mvc [C#], F# Web/MVC
ASP.NET Core Web App webapp [C#] Web/MVC/Razor Pages
ASP.NET Core with Angular angular [C#] Web/MVC/SPA
ASP.NET Core with React.js react [C#] Web/MVC/SPA
ASP.NET Core with React.js and Redux reactredux [C#] Web/MVC/SPA
Razor Class Library razorclasslib [C#] Web/Razor/Library/Razor Class Library
ASP.NET Core Web API webapi [C#], F# Web/WebAPI
ASP.NET Core gRPC Service grpc [C#] Web/gRPC
dotnet gitignore file gitignore Config
global.json file globaljson Config
NuGet Config nugetconfig Config
Dotnet local tool manifest file tool-manifest Config
Web Config webconfig Config
Solution File sln Solution
Protocol Buffer File proto Web/gRPC
Vous pouvez obtenir le modèle manquant en ligne et l'installer.
dotnet install hoge
Cela générera le code de la plaque chauffante pour votre application console dans le répertoire myapp afin que vous puissiez ouvrir l'éditeur et commencer le développement. (Visual Studio Code nécessite un environnement net car les composants nécessaires et le téléchargement du plug-in C # sont effectués au premier lancement, et cela peut prendre un peu la prochaine fois.)
Si vous utilisez Rider, vous pouvez créer un projet à partir d'une boîte de dialogue dédiée.
Certains modèles ne sont pas pris en charge, dans ce cas, vous devrez créer un projet à partir de la ligne de commande.
En utilisant la commande dotnet, vous pouvez créer et exploiter des projets, et sous la forme de .NET Core Tools Vous pouvez également installer divers outils.
Par exemple, PowerShell peut également être installé dans le cadre de .NET, auquel cas:
dotnet tool install -g powershell
Cela s'applique également si vous souhaitez installer d'autres outils ML.NET.
dotnet tool install -g mlnet
Il est également possible de déboguer avec Visual Studio Code, et cela peut être fait comme un Visual Studio normal.
Cependant, cela peut prendre un certain temps car les paramètres doivent être réécrits tels que launch.json </ code>. Un exemple est présenté ci-dessous.
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"WARNING01": "*********************************************************************************",
"WARNING02": "The C# extension was unable to automatically decode projects in the current",
"WARNING03": "workspace to create a runnable launch.json file. A template launch.json file has",
"WARNING04": "been created as a placeholder.",
"WARNING05": "",
"WARNING06": "If OmniSharp is currently unable to load your project, you can attempt to resolve",
"WARNING07": "this by restoring any missing project dependencies (example: run 'dotnet restore')",
"WARNING08": "and by fixing any reported errors from building the projects in your workspace.",
"WARNING09": "If this allows OmniSharp to now load your project then --",
"WARNING10": " * Delete this file",
"WARNING11": " * Open the Visual Studio Code command palette (View->Command Palette)",
"WARNING12": " * run the command: '.NET: Generate Assets for Build and Debug'.",
"WARNING13": "",
"WARNING14": "If your project requires a more complex launch configuration, you may wish to delete",
"WARNING15": "this configuration and pick a different template using the 'Add Configuration...'",
"WARNING16": "button at the bottom of this file.",
"WARNING17": "*********************************************************************************",
"preLaunchTask": "build",
"program": "${workspaceFolder}/bin/Debug/netcoreapp3.1/myapp.dll",
"args": [],
"cwd": "${workspaceFolder}",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
]
}
Le fichier de paramètres lui-même a une fonction à générer automatiquement, mais vous devez définir vous-même le nom de la plate-forme ( netcoreapp3.1 </ code>) et le nom de l'application (
myapp.dll </ code>).
Lorsque vous utilisez Rider, c'est assez facile car de nombreuses parties sont automatiquement définies.
Avant l'avènement de .NET Core, il y avait Mono etc., mais .NET avait encore un caractère fort en tant qu'environnement Windows, mais après l'avènement de .NET Core, il est possible de se développer aussi bien que sous environnement Linux, y compris autour d'outils. Cela est devenu le cas.
Il peut y avoir des situations où il est pratique de pouvoir développer sous Linux, en particulier lorsque la destination du déploiement est Linux. Dans un tel cas, je pense que c'est un gros avantage de pouvoir créer un environnement de développement même avec Linux.
Recommended Posts