Visual Studio "15" : Microsoft donne plus de détails sur l'outillage .NET Core
Qui tourne principalement autour des fichiers csproj

Le , par Stéphane le calme

51PARTAGES

7  0 
Au début du mois, Microsoft a rendu disponible la cinquième préversion de Visual Studio “15”, sa suite de logiciels de développements. Nous avons déjà creusé les nombreux changements apportés comme la disponibilité du filtrage IntelliSense pour C#, VB et C++ afin d’améliorer la production, ou l’intégration du générateur de projet CMake, qui permet la réutilisation de code C ++ sur plusieurs EDI et systèmes. Cette fois-ci, nous allons nous intéresser à l’outillage .NET Core que propose l’EDI aux développeurs.

La suite apporte la commande dotnet new qui permet de créer de nouveaux templates en passant par les outils de ligne de commande .NET Core. Cette commande permet de générer des fichiers projet csproj et Program.cs. Concernant le premier fichier (csproj), par défaut, il aura le même nom que le répertoire.


Microsoft annonce avoir simplifié de manière significative le format csproj pour offrir aux développeurs une expérience plus conviviale de la ligne de commande : « si vous êtes habitué au project.json, vous pouvez voir qu'il contient des informations très similaires », a indiqué l’éditeur. Et de préciser que ce format supporte également la syntaxe générative pour vous éviter de citer les fichiers sources individuels dans le fichier projet. Cela permet d’avoir des dossiers de projets qui ne nécessitent pas l’ajout manuel de tous les fichiers, ce qui a pour conséquence d'améliorer considérablement la collaboration au sein des équipes étant donné que le fichier de projet n'a pas besoin d'être modifié chaque fois qu'un nouveau fichier est ajouté.

Une fois que vous avez lancé la commande dotnet new, voici le template csproj qui est créé par défaut. Notons qu’il vous donne accès à tous les ensembles qui viennent avec le runtime .NET Core comme System.Collections. Il donne également accès à tous les outils et cibles qui accompagnent le SDK Core .NET.

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<Project>
 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
 <PropertyGroup>
   <OutputType>Exe</OutputType>
   <TargetFramework>netcoreapp1.0</TargetFramework>
 </PropertyGroup>
 <ItemGroup>
   <Compile Include="**\*.cs" />
 </ItemGroup>
 <ItemGroup>
   <PackageReference Include="Microsoft.NETCore.App" Version="1.0.0" />
   <PackageReference Include="Microsoft.NET.SDK" Version="1.0.0" />
 </ItemGroup>
 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
Les références paquets Nuget sont désormais intégrés et font partie du format csproj et non plus d’un fichier spécial utilisant son propre format. Ces références sont sous la forme <PackageReference Include="[Package-Name]" Version="[Package-Version]" />.

Par exemple, si vous voulez ajouter une référence à WindowsAzure.Storage, il vous suffit simplement d’ajouter aux deux références précédentes la ligne avec le nom du paquet ainsi que celui de la version.

Code : Sélectionner tout
1
2
3
4
5
<ItemGroup>
   <PackageReference Include="Microsoft.NETCore.App" Version="1.0.0" />
   <PackageReference Include="Microsoft.NET.SDK" Version="1.0.0" />
   <PackageReference Include="WindowsAzure.Storage" Version="7.2.1" />
 </ItemGroup>
Si dans plusieurs cas vous n’aurez besoin que de cibler une seule instance .NET Core, .NET Framework ou .NET Standard avec votre bibliothèque, il peut arriver que vous ayez besoin de plus de flexibilité. MSBuild supporte le multi ciblage comme scénario principal. La syntaxe est relativement simple puisqu’il suffit de spécifier l’ensemble des cibles séparées par un point virgule comme ceci :

Code : Sélectionner tout
1
2
3
<PropertyGroup>
   <TargetFrameworks>netstandard16;net452</TargetFrameworks>
</PropertyGroup>
Cette commande va automatiquement établir le droit #defines que vous pourrez paramétrer dans votre code pour activer ou désactiver des blocs de code spécifiques en fonction des framework visés.

Vous aurez aussi la possibilité d’effectuer une migration de projets project.json existant vers csproj facilement en vous servant de la commande dotnet migrate. Après avoir lancé la commande dotnet migrate, ce project.json génère le même fichier csproj qui a été indiqué plus haut :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
 "version": "1.0.0-*",
 "buildOptions": {
   "debugType": "portable",
   "emitEntryPoint": true
 },
 "dependencies": {},
 "frameworks": {
   "netcoreapp1.0": {
     "dependencies": {
       "Microsoft.NETCore.App": {
         "type": "platform",
         "version": "1.0.1"
       }
     },
     "imports": "dnxcore50"
   }
 }
}

Source : blog Microsoft

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de beekeep
Rédacteur/Modérateur https://www.developpez.com
Le 13/10/2017 à 19:32
Du coup il fait du WinDev
6  0 
Avatar de ZenZiTone
Membre expert https://www.developpez.com
Le 11/10/2017 à 13:32
Citation Envoyé par Chauve souris Voir le message
Ce que j'en pense ? C'est que toutes ces nouveautés qui sortent tous les 6 mois (si ce n'est pas trois mois) sont devenues impossible à suivre si on n'est pas prof d'anglais, option informatique.
D'un autre côté c'est un outils à destination des développeurs. Qui généralement sont suffisamment familiarisés avec l'anglais pour comprendre les concepts. Pour ma part, je me considère comme une bille en anglais et pourtant je comprend la majeur partie de la doc...
5  0 
Avatar de sebbod
Membre actif https://www.developpez.com
Le 17/11/2016 à 15:47
Citation Envoyé par Spleeen Voir le message
En soit, je ne vois pas grand changement :

  • Inttellisense, ils en parlent à chaque fois. LA fonctionnalité phare et merveilleuse de VS. Mais enfin bon elle évolue peu.
  • On nous promet toujours moins d'embonpoint, mais l'installation est toujours une des plus lentes et des plus demandeuses qui soit (comme SQL Server...)
  • Une interface qui n'évolue pas dans le design, toujours bloqué à du Win32 de ce coté... avec les lenteurs des langages interprétés.


Disons que, du reste, ça avance... lentement mais surement. La concurrence elle ne traîne pas.
"avec les lenteurs des langages interprétés" : Pour ta gouvernante (<- blague de la tour Montparnasse infernal - Eric et Ramzy - oui je site les auteurs car la culture c'est important ) presque tous (sauf si tu écris directement en langage processeur) les langages sont interprétés, même l'assembleur oui oui lui aussi convertit ces mnémoniques en langage machine).
Long et semé d’embûche est le chemin de la connaissance jeune padawane . Tiens un peu de lecture ça peux pas faire de mal : http://www.developpez.net/forums/d59...ions-debutant/

(pendant que tu liras tu écriras pas )

"Inttellisense" : J'en ai tester plusieurs (Eclipse, NetBeans, Toad, etc...) aucune n'est aussi bien que celle de visual studio donc si tu as des arguments pour expliquer pourquoi elle evolue peu je suis lecteur car au lieu de rabaisser tu ferais mieux de construire

merci au plaisir de te lire dans un élan de construction
5  1 
Avatar de François DORIN
Rédacteur https://www.developpez.com
Le 18/08/2017 à 8:12
Citation Envoyé par Chauve souris Voir le message
je me demande pourquoi est finie l'époque où on pouvait télécharger la nuit un gros iso et l'installer nasodigitalement et rapidement le jour suivant.
Visual Studio est en environnement qui s'est tellement enrichie en fonctionnalités ces dernières années que le media d'installation complet nécessiterait 40Go. Difficile de toute faire tenir sur un ou deux DVD !

Par contre, on utilise rarement toutes les fonctionnalités. C'est pourquoi Microsoft a beaucoup travaillé sur l'aspect modularité de l'installation avec Visual Studio 2017. Donc, maintenant, au lieu d'avoir une pléthore d'images ISO pour chaque configuration (ce qui est difficilement faisable en plus), Microsoft fourni un installeur qui s'occupe d'afficher la liste des modules disponibles et les installer.

Ce que peut savent par contre, c'est qu'il est possible d'utiliser cet installeur afin de récupérer les fichiers pour une installation hors-ligne (par exemple, pour installer Visual Studio sur plusieurs poste sans avoir à tout retélécharger à chaque fois ou lorsque la qualité du réseau n'est pas terrible).

Code : Sélectionner tout
1
2
3
4
5
6
# Téléchargement des fonctionnalités pour le développement d'application de bureau .NET et web .NET
vs_community.exe --layout c:\vs2017layout --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --add Component.GitHub.VisualStudio --includeOptional --lang fr-FR

# Installation 
c:\vs2017layout\vs_community.exe --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --add Component.GitHub.VisualStudio --includeOptional
Autre avantage de cet installeur hors-ligne : il est possible de mettre à jour simplement les fichiers d'installation hors-ligne en ré-exécutant simplement la commande.

Enfin, l'installation hors-ligne fonctionne sur le principe d'un cache hors-ligne. C'est-à-dire que si une fonctionnalité n'est pas dans le cache, elle sera automatiquement téléchargée si nécessaire.
4  0 
Avatar de Aiekick
Membre extrêmement actif https://www.developpez.com
Le 11/10/2017 à 16:35
Citation Envoyé par Chauve souris Voir le message
Ce que j'en pense ? C'est que toutes ces nouveautés qui sortent tous les 6 mois (si ce n'est pas trois mois) sont devenues impossible à suivre si on n'est pas prof d'anglais, option informatique. De plus aucune doc n'est téléchargeable il faut se taper en ligne une doc en anglais. Au moins pour la version 2012 on pouvait récupérer une doc en français sous la forme d'un iso. Pour ceux qui, comme moi, ont une connexion rampaterre et ne verrouille pas celle-ci uniquement pour voir la doc Microsoft ça devient inutilisable. Alors on reste sur des "veilles" techniques éprouvées et les nouveautés vous passe quelque peu au-dessus de la tête. Plus rien de pédagogique, les tutoriels n'existent plus (ou ont 5 ans de retard, il n'y a qu'à voir sur ce site). On vous balance la sempiternelle usine à gaz Adventure Works même si vous n'êtes qu'un apprenti plombier.

Pareils pour les livres, ils n'existent plus, le dernier en date que j'ai bien aimé, c'est celui de John Sharp (Visual C# 2010) très pédagogique et parfaitement traduit (alors que la plupart des ouvrages "traduits" vous balancent les exemples en anglais) par Dominique Maniez.

Je finis par me demander si la carence en développeurs n'est pas réelle faute de candidats.
franchement, un dev qui as du mal avec l'anglais va pas aller loin ....
4  0 
Avatar de Arnard
Membre émérite https://www.developpez.com
Le 10/11/2016 à 10:53
Y'a une différence entre concevoir en utilisant UML et générer un schéma de sortie de son application en UML une fois le code fait
3  0 
Avatar de François DORIN
Rédacteur https://www.developpez.com
Le 18/08/2017 à 19:37
Citation Envoyé par SimonDecoline Voir le message
Ok, merci pour ces précisions. Par contre, devoir installer tous les SDKs avec toutes les docs et pour toutes les plateformes, je n'appelle pas ça des fonctionnalités mais un grave problème de conception.
Justement, il n'est pas nécessaire de tout télécharger. Juste ce dont on a besoin
3  0 
Avatar de LeBressaud
Membre actif https://www.developpez.com
Le 11/10/2017 à 15:53
Citation Envoyé par Chauve souris Voir le message
Je finis par me demander si la carence en développeurs n'est pas réelle faute de candidats.
Si c'est pour avoir des candidats pas capables de lire une doc en anglais c'est pas grave...
3  0 
Avatar de François DORIN
Rédacteur https://www.developpez.com
Le 14/10/2017 à 10:02
Citation Envoyé par Chauve souris Voir le message
En fait ça ne va pas faire plaisir à pas mal d'universitaires US qui ne voient pas d'un bon oeil la perte de toute culture autre que ricaine. Plus rien ne sera inventé hors du moule de la pensée anglo-saxonne. Même pour eux ça sera un appauvrissement certain. Et on ne parle pas pour les autres...
Quel amalgame. Anglais = américain... .

Donc pour ton information, l'anglais n'est pas utilisé qu'aux Etats-Unis. Le Royaume-Unis, l'Irlande, le Canada, l'Australie ne sont que des exemples ayant pour langue officielle... l'anglais ! Et chacun de ces pays à une culture propre et très différente les unes des autres.

Merci également de faire attention aux propos utilisés. "ricain(e)" est un terme péjoratif, voire injurieux et qui n'a donc pas sa place sur nos forums.
3  0 
Avatar de micka132
Expert confirmé https://www.developpez.com
Le 25/11/2016 à 17:06
Citation Envoyé par negstek Voir le message
La on on avait une liste claire et concise on a maintenant une fenêtre bien large avec des tuiles qui servent de sous-menu.
Tu préferes un treeview à 3 niveaux sur 10 km de haut?
Franchement on est tous sur des écrans 16/9 voire 16/10, je trouve ce système bien mieux en utilisant l'espace inutile avec un seul treeview.
2  0 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web