[Visual Studio 2008] Astuce : Créer un raccourci sur un fichier dans un projet Visual Studio

En regardant les exemples du SDK de Visual Studio, j’avais remarqué que Microsoft avait crée des raccourcis de fichier dans Visual Studio.

Raccourci d'un fichier dans un projet Visual Studio

Exemple de GeneratorSample présent dans le SDK de Visual Studio.

La question que l’on pourrait se poser est « Pourquoi mettre des raccourcis dans des projets Visual Studio ? »

La réponse est simple : Vous disposez d’un fichier (code source C# ou VB, XML,…etc) commun que vous souhaitez partager entre différents projets. Bien évidemment, la solution la plus simple est de faire un copier/coller de ce fichier dans chaque projet. L’inconvénient majeur de cette solution est que vous serez obligé plus-tard de modifier chaque fichier copié dès que vous souhaitez apporter une modification. Avec les raccourcis, vous mettez votre fichier dans un endroit particulier et vous créez autant de raccourci sur celui-ci.

Pour créer un raccourci, il suffit de faire un clic-droit sur un projet (ou un dossier d’un projet), et allez dans « Ajouter / Element existant… ».

Ajout d'un élément dans un projet Visual Studio

Ajout d'un élément dans un projet Visual Studio

Choisissez le fichier sur lequel le raccourci va pointer. Cliquez sur la petite flèche à droite du bouton « Ajouter », et choisissez « Ajouter en tant que lien ».

Création d'un raccourci pour le fichier sélectionné

Création d'un raccourci pour le fichier sélectionné

Un raccourci à ce fichier vient d’être ajouté à votre projet.

Il est a noté plusieurs points intéressants :

  • Visual Studio considère à la compilation les raccourcis comme un fichier dont son contenu est le fichier pointé (Comme si vous aviez fait un copier/coller du fichier pointé).
  • Les raccourcis sont enregistrés dans le fichier de projet (.csproj pour C#, .vbproj pour VB) avec un emplacement relatif par rapport au fichier pointé. Ainsi il est tout à fait possible de transférer votre solution sur un autre ordinateur…
  • Il n’est pas nécessaire que le fichier pointé soit dans un projet de votre solution. (Le raccourci peut pointer sur un fichier dans le répertoire Windows par exemple…).

Un exemple d’utilisation concret (que j’utilise…) :

Vous disposez d’une solution avec 50 projets. Vous souhaitez gérer le même numéro de version pour chaque projet. Au lieu de modifier un par un vos projets pour changer le même numéro de version, vous pouvez créer un fichier « Version.cs » que vous placez dans un projet particulier contenant la ligne suivante :

[assembly: AssemblyVersion("1.6.6.4")]

Il suffit ensuite de créer les 49 raccourcis vers ce fichier dans chacun des autres projets.

Maintenant, il suffira à chaque changement de version, de modifier uniquement le fichier « Version.cs ».