vscode
Plusieurs projets mis en place
Recherche…
Remarques
Le projet de tests unitaires mis en place est disponible ici
Référencement de projets locaux
Les .sln
et .proj
.
Au lieu de cela, les dossiers sont utilisés dans le code Visual Studio.
Chaque dossier de projet doit avoir un fichier project.json
distinct.
/MyProject.Core
SourceFile.cs
project.json
/MyProject.Web
/Controllers
/Views
project.json
Pour référencer MyProject.Core
partir du projet MyProject.Web
, modifiez le fichier MyProject.Web\project.json
et ajoutez la dépendance:
// MyProject.Web/project.json
{
"dependencies": {
"MyProject.Core": {"target": "project"},
...
}
"buildOptions": {
"emitEntryPoint": true
}
}
La ligne "emitEntryPoint": true
indique que MyProject.Web
est un projet de démarrage pour la solution. Cet indicateur doit être désactivé dans MyProject.Core
dans son fichier project.json
:
// MyProject.Core/project.json
{
...
"buildOptions": {
"emitEntryPoint": false
}
}
Construire le projet (Mac: ⌘ + Maj + B, Windows: Ctrl + Maj + B) et chaque projet doit avoir propre \bin
et \obj
dossiers avec de nouveaux .dll
fichiers.
Structure de solution
Il est très courant de regrouper des projets, par exemple, placer des projets de test sous le dossier /test
et les projets sources sous le dossier /src
. Ajoutez le fichier global.json
et créez une structure similaire:
global.json
/src/
/MyProject.Core/
SourceFile.cs
project.json
/MyProject.Web/
/Controllers
/Views
project.json
/test/
/MyProject.Core.UnitTests/
SourceFileTest.cs
project.json
/MyProject.Web.UnitTests/
/Controllers
/Views
project.json
Modifiez le fichier global.json
vide et spécifiez les groupes de projets:
{
"projects":["src", "test"]
}
VS Code utilise tasks.json
pour exécuter des tâches (par exemple, créer une solution) et launch.json
pour démarrer un projet (par exemple, le débogage). Si vous ne trouvez pas ces fichiers, essayez de démarrer le débogage en appuyant sur F5 et en ignorant les erreurs, le code VS générera sous le dossier .vscode
dossier racine avec les fichiers.
Modifiez le fichier launch.json
et spécifiez le chemin d'accès à votre bibliothèque de démarrage, modifiez MyProject.Web
avec le nom de votre projet:
{
"configurations": [
{
...
"program": "${workspaceRoot}/src/MyProject.Web/bin/Debug/netcoreapp1.0/MyProject.Web.dll",
"args": [],
"cwd": "${workspaceRoot}/src/Washita.Web",
...
}
}
Modifiez le fichier tasks.json
et spécifiez le chemin d'accès à votre bibliothèque de démarrage, modifiez MyProject.Web
avec le nom de votre projet:
{
"tasks": [
{
"taskName": "build",
"args": [
"${workspaceRoot}/src/MyProject.Web"
],
"isBuildCommand": true,
"problemMatcher": "$msCompile"
}
]
}
Vous devriez maintenant pouvoir créer et déboguer les fichiers source .NET.
Cependant, Intellisense disparaîtra en raison de la configuration de plusieurs projets. Pour résoudre ce problème, ouvrez un fichier .cs
et basculez vers le projet approprié (project.json) en Select project
dans le coin inférieur droit: