Création de la solution vide :
mkdir Isen.Cs && cd Isen.Cs
dotnet new sln
Création du projet de type console :
mkdir Isen.Cs.ConsoleApp && cd Isen.Cs.ConsoleApp
dotnet new console
Création du projet de type librairie (depuis la racine) :
mkdir Isen.Cs.Library && cd Isen.Cs.Library
dotnet new classlib
Création du projet de type tests unitaires (depuis la racine) :
mkdir Isen.Cs.Tests && cd Isen.Cs.Tests
dotnet new xunit
Ajouter au projet console une référence vers
le projet Library.
Depuis le dossier du projet console :
dotnet add reference ..\Isen.Cs.Library\Isen.Cs.Library.csproj
Ajouter au projet tests une référence vers
le projet Library.
Depuis le dossier du projet tests :
dotnet add reference ..\Isen.Cs.Library\Isen.Cs.Library.csproj
Pour retirer la référence, remplacer add
par remove
.
Depuis la racine de la solution :
dotnet sln add Isen.Cs.Library\Isen.Cs.Library.csproj
dotnet sln add Isen.Cs.ConsoleApp\Isen.Cs.ConsoleApp.csproj
dotnet sln add Isen.Cs.Tests\Isen.Cs.Tests.csproj
On peut créer des "dossiers de solution", qui sont des dossiers virtuels (non reflétés dans le filesystem). Rangement proposé :
src
pour les projets library et consoletests
pour les projets de testssln
pour tous les fichiers hors projet à la racine de la solution.
Effacer les fichiers .cs générés automatiquement, à l'exception de celui du projet Console.
Il y a 3 étapes, qui s'appellent entre elles, lors d'un build :
dotnet restore
: restaurer les packages "NuGet" distants (mécanisme équivalent ànpm
).
dotnet build
: compiler les projetsdotnet run
: exécuter le projet, s'il est exécutable :- Exécuter dans la console, pour un projet console
- Lancer un serveur web, pour un projet web.
Créer un projet sur Github ou Gitlab.
Depuis la racine du projet :
git init
Trouver un .gitignore pour un projet .net Core :
https://github.com/dotnet/core/blob/master/.gitignore
Créer un fichier .gitignore :
touch .gitignore
Remplir ce fichier avec le contenu exemple.
git add .
git commit -m "initial commit, project structure"
git remote add origin https://github.com/kall2sollies/ISEN-CS2018.git
git push origin master
Ajouter un tag de version 0.1
git tag v0.1
git push origin v0.1
Passage en revue de tous les types primitifs.
Dans le projet Library :
- Créer un dossier Lessons
- Créer une classe 01_Types (fichier 01_Types.cs)
Inclure toute la strucure d'une classe :
using
(imports du java)namespace
(package du java)class
Coder la classe (voir code).
L'appeler dans le main().
Ce chapitre passe en revue les enum
.
Dans le projet Library, créer cette classe.
Aperçu des passages par valeur ou référence.
Ce chapitre traite des tableaux "primitifs" du style object[]
ou object[][]
.
Créer la classe C_Arrays avec une méthode d'exécution et l'appeler dans le main.
But : créer une classe de tableau mutable de string.
Ce type de classe peut être ArrayList, List, MutableArray, Collection, ..., selon les langages
et API.
Créer D_MyCollection
dans Lesson, avec méthode d'exécution et appel dans main.
Créer à la racine de Library une classe MyCollection
.
Créer à la racine de Library une interface IMyCollection
.
MyCollection
doit implémenter l'interface IMyCollection
.