Merci pour ce tutoriel, ça fait plaisir
En effet quand on regarde les tuto sur la documentation de Microsoft, on voit que la majoritée des exemples se base sur Visual Studio ( et non Visual Studio Code) et son générateur de code ce qui fait qu'ils sont durs à suivre quand on n'utilise pas cet IDE.
Pour moi qui préfère Visual Studio Code (et qui suis sur Linux en plus) c'est super d'avoir un tutoriel qui n'est pas basé sur un éditeur en particulier.
Cependant j'ai remarqué certains points où j'ai eu du mal.
Déjà j'ai pas réussi à utiliser la commande "yo aspnet:MvcController" pour générer automatiquement un contrôleur ou une vue.
J'ai pourtant bien installé le générateur aspnet avec la commande "npm install -g generator-aspnet" et j'ai réussi à générer un projet aspnet comme expliqué sur le tutoriel.
J'ai cherché sur le net mais j'ai pas trouvé de solution, sais-tu comment faire pour installer ces générateurs ? (J'ai testé sur Ubuntu 16.04 avec dotnet core version 1.0.1 et yo version 1.8.5)
Sinon, pour l'installation de NodeJS, je pense qu'il faut mieux installer la version 6 (ou 7) plutôt que la version 4 car c'est celle là qui est actuellement supporté à long terme (plus d'info
https://github.com/nodejs/LTS#lts-schedule1)
Ensuite, avec la version 1.0.1 de dotnet core, il faut en effet utiliser le format .csproj pour la gestion des dépendances par contre le fichier .csproj qui est montré est incomplet. Il manque notamment les références à la bibliothèque CommandLine (quand on modifie le fichier Program.cs dans la partie "XI-B. Configuration de Nginx" et il manque aussi la référence à l'outil Microsoft.EntityFrameworkCore.Tools.DotNet pour pouvoir lancer la commande "dotnet ef" comme illustré dans la partie "VI. Ajout d'Entity Framework au projet".
Voici mon fichier .csproj (PS: je ne suis pas sûr que c'est comme ça qu'il faut faire pour la partie où j'inclus le fichier hosting.json)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="1.0.4" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.0.3" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.0.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.0.2" />
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.0.3" PrivateAssets="All" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="1.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Design" Version="1.0.3" PrivateAssets="All" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.0.0-msbuild3-final" PrivateAssets="All" />
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="1.1.1" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0-msbuild3-final" />
<DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0" />
</ItemGroup>
<ItemGroup>
<None Include="hosting.json" CopyToPublishDirectory="Always" />
</ItemGroup>
</Project> |
Vous remarquerez que j'ai mis aussi une référence à la commande Microsoft.DotNet.Watcher.Tools, c'est pour moi une commande très utile car elle permet de lancer une seule fois la commande "dotnet run" et à chaque fois qu'on change nos fichiers, l'application est automatiquement mise à jour de façon transparente et on peut voir ses changements directement dans son navigateur (un peu comme avec des langages tel que php).
Pour l'utiliser c'est simple, il suffit de lancer "dotnet watch run" dans un terminal (on peut directement utiliser le terminal intégré dans visual studio code en allant dans le menu affichage > terminal intégré). (Plus sur "dotnet watch" d'info ici
https://docs.microsoft.com/en-us/asp...s/dotnet-watch)
Enfin, est-ce que c'est normal que dans le fichier /etc/nginx/sites-available/default le port soit 5001, que dans le fichier hosting.json le port soit 5050 et que dans le fichier Dockerfile le port soit 5100, ça ne devrait pas être toujours le même port ?
De plus y a t'il pas un erreur sur le chemin vers le fichier de configuration de supervisor, ce serait pas /etc/supervisor/conf.d/ au lieu de src/supervisor/conf.d/ ?
0 |
0 |