Tricks : Gérer son numéro de version au niveau de la solution

Si comme moi, vous avez toujours rêvé de pouvoir gérer son numéro de version au niveau de solution et non au niveau de chaque projet cet article est fait pour vous !

Marche à suivre

  1. Click droit sur la solution -> Ajouter un nouvel item -> Classe Visual C#
  2. Nommez le fichier « SharedAssembyInfo.cs »
  3. Reprenez toutes les infos d’un « AssemblyInfo.cs » d’un projet existant et copier-coller le contenu dans « SharedAssembyInfo.cs ». Les fichiers « AssemblyInfos.cs » se trouvent dans la rubrique « Properties » située juste au-dessus de « Références ».
  4. Mettez en commentaire tout le contenu des différents « AssemblyInfo.cs »
  5. Sur chaque projet :
    1. Click droit -> Ajouter élément existant
    2. Sélectionner le « SharedAssembyInfo.cs »
    3. Choisir d’ajouter en tant que lien
    4. Faites glisser le fichier ajouté au projet dans le dossier « Properties »

A savoir

Vous n’êtes pas obligé de partager toutes les informations dans le « SharedAssembyInfo.cs », tout ce qui est spécifique à chaque projet vous pouvez le laisser dans le « AssemblyInfos.cs » du projet.

Pour allez plus loin

Savez-vous que vous pouvez générer un numéro de build sans usine de build depuis Visual Studio? Pour cela il suffit de :

  1. Mettre en commentaire l’attribut « [assembly: AssemblyFileVersion(« 1.0.0.0 »)]» que l’on trouve dans « SharedAssembyInfo.cs » ou « AssemblyInfos.cs ». Seul l’attribut « AssemblyVersion » doit être spécifié.
  2. Mettre l’attribut « AssemblyVersion » sous la forme : « [assembly: AssemblyVersion(« Majeur.Mineur.* »)] »

Après ça, à chaque build, Visual Studio va remplacer l’étoile par un « numéro de build » et un « numéro de révision » :

  • Numéro de build : Le nombre de jour depuis le 1er Janvier 2000.
  • Numéro de révision : Le nombre de secondes depuis minuit divisé par 2.

 

J’espère que cet article vous aura été utile 😉

 

Sources

http://weblogs.asp.net/ashishnjain/sharing-assembly-version-across-projects-in-a-solution

http://www.csharpcity.com/2012/visual-studio-automatic-version-numbering/

https://msdn.microsoft.com/en-us/library/k49w9389(v=vs.110).aspx

Microsoft Ignite 2015 – Du lundi 4 mai au Mercredi 6 mai par Stéphane

Par Stéphane,
Pôle SharePoint MCNEXT

LUNDI 4 MAI 2015
1 – DevOps as a strategy for business agility
2 – Deep Div into Safe Sharepoint Branding in Office 365 Using Repeatable Patterns and Practices
3 – Building solutions with Office 365

MARDI 5 MAI 2015
4 – Get Your Hands Dirty with the Office 365 APIs, Authentication, and SDKs
5 – Designing and Applying Information Architecture for Microsoft SharePoint and Office 365
6 – Building business apps like they do in the valley with Angular, Node.js, and more..

MERCREDI 6 MAI 2015
7 – Understanding the IT Pro’s dynamic operations role within DevOps
8 – What’s new for build automation in Team Foundation Server and Visual Studio Online
9 – Bose Turns Up the Volume with Microsoft Office 365
10 – Visual Studio 2015 for Web Developers
11 – Implementing Next Generation SharePoint Hybrid Search with the Cloud Search Service Application

Lire la suite

Build 2015 – Day 2

Par Benoît,
Pôle .Net MCNEXT

Bonjour à tous,

Suite de la Build avec la deuxième journée.
Cette fois-ci direction la nouvelle API Microsoft Ink avec la recherche de nouveaux scénarios de saisie au stylet et au doigt.
Le projet « Centennial » abordé lors de la première Keynote a eu sa session pour en aborder les contours.
Enfin, retour au code avec une session technique pour améliorer les performances en XAML.

Benoît

Lire la suite

Intégrer Beyond Compare à Visual Studio

L’outil de comparaison et de fusion de fichiers fourni de base avec TFS est vraiment très basique et ne permet pas d’être efficace.

« Beyond Compare » est beaucoup plus convivial et complet que l’outil de base de TFS.

Il est disponible sur www.scootersoftware.com mais une licence est nécessaire à son utilisation.

C’est un outil recommandé à tous ceux qui ont besoin de :

  • Comparer le contenu d’un fichier, d’un dossier ou d’une arborescence
  • Synchroniser des dossiers avec une mise à jour en miroir, une mise à jour uni ou bidirectionnelle

Nous allons donc remplacer l’outil de comparaison et de fusion de TFS par Beyond Compare 3 qui propose beaucoup plus de fonctionnalités :

  • Utilisation des couleurs pour un meilleur suivi
  • Mise en valeur uniquement du texte qui a changé sur la ligne (et non toute la ligne)
  • Suivi évolué des modifications en superposant toutes les versions d’une même ligne
  • Et plein d’autres fonctionnalités

Lire la suite

Build 2014 – Migration d’une application Windows Phone et Windows 8 vers les Universal Apps (Channel 9) : Stéphanie Hertrich, expert technique Microsoft France, reçoit John Thiriet, MVP client dev chez MCNEXT – via @ch9

[Build 14] – How to Analyze Performance Issues in Your Windows and Windows Phone Apps

Mail de John
Samedi 5 avril 2014 20:33
How to Analyze Performance Issues in Your Windows and Windows Phone Apps

La performance est un problème d’expérience utilisateur. C’est l’utilisateur qui jugera. Avoir une application performante améliore les notes dans le store.

Les outils :
– Visual Studio
– WP 8.1 SDK VS Dev Power Tools
o Tracer l’application
– Windows Performance Toolkit
o Tracer l’application et faire une analyse approdonfie
o http://aka.ms/downloadWPT

Identifier les scenarii :
– Se focaliser les scenarii qui
o Ont une vraie valeur pour les utilisateurs
o Sont les clefs de l’utilisation de l’application
o Ont des problèmes de performances visibles
– Fast scenarios
o App launch
o Page navigation
o User Interaction
– Fluid scenarios
o Glitch free animation
o Glitch free panning
o Keeping up with the panning

Demo :
– Capturer une trace
– Localiser un scenario dans la trace
– Investiguer les problèmes de vitesse
– Investiguer les problèmes de fluidité

Cette démonstration utilise à la fois de XAML et du HTML pour montrer que WPA fonctionne dans les deux environnements à la fois sur Windows et sur Windows Phone.
John

[Build 14] – Strategies for developing Cross-Device applications with Visual Studio 2013

Mail de John
Vendredi 4 avril 2014 06:09

Strategies for developing Cross-Device applications with Visual Studio 2013

 

Retour sur les choix inhérents au développement Cross Platform.

Doit-on choisir le développement natif ou le développement utilisant des technologies web ?
C’est la réponse que cherche à apporter cette session.
Natif : Plus grande flexibilité de customisation par device, accès complet au matériel, device dependant
Web : Device independant, facile à gérer mais possibilités d’intégration à la plateforme limitées.

 

Présentation de stratégies pour le développement web :

– Ne rien faire
– S’adapter au niveau du client
o Duplication minimale mais pas de customisation par device et inefficience au niveau de la bande passante
– S’adapter au niveau du serveur
o Flexibilité maximale mais probablement pas mal de duplication de code
– Tenter d’imiter le fonctionnement natif
o La meilleur expérience sur chaque device mais ce n’est toujours pas du natif

Démonstration sur le CSS et les Media Queries, Bootstrap.
Démonstration JQuery Mobile
Démonstration avec Knockout, TypeScript, Cordova.
Développement natif :

– Utiliser les outils de chaque plateforme
o Impose d’apprendre à développement avec divers IDE, langages
o Pas de partage de code
– Utiliser Xamarin
o Applications complètement native
o Utilisation de Visual Studio
o Partage de la logique du code entre chaque plateforme grâce à des PCL
o 100% des APIs de chaque device sont exposées par Xamarin

Démonstration avec Xamarin et MVVMCross (Breakpoints et remote debug Android)
John

[JSS 2013] Session : SSAS : Test de montée en charge avec Visual Studio

Speaker : Arnaud Voisin
Level : 300-400

Cette session a pour but de nous montrer comment réaliser des tests de montée en charge sur Visual Studio.

Pourquoi en réaliser ?
Pour valider les exigences de performance de la solution, que ce soit l’architecture, le design, l’usage de l’application ou encore la qualité du code.

La session a été découpée en 4 parties :

  1. Déploiement de projets SSAS
  2. Stress tests
  3. Méthodologie des tests de performance
  4. Architecture de test

1/ Déploiement de projets SSAS

Dans cette partie, on va voir qu’il faut être vigilant sur certains points avant le déploiement d’un projet SSAS :

  • Meilleure optimisation SSAS sur les schémas en étoile
  • Parent child : il faut limiter les agrégations et ne les faire que sur les attributs clés, dans le meilleur des cas
  • Distinct count : créer une clé de partitionnement
  • Stockage : ne pas avoir des partitions trop petites (< 200Mo) ou trop grosses (> 3Go)

2/ Stress tests

Voici une liste de pré-requis avant de pouvoir réaliser les stress tests. Il faut avoir :

  • ASQueryPlan (outil de génération de Workload)
  • ASLoadSim (injecteur de charge)
  • Visual Studio Ultimate (Team System)
  • SQL Server
  • Solution SSAS OLAP / Tabular

Il faut aussi choisir son Workload (un Report RS, Excel, Power Pivot, …) et le variabiliser avec ASQueryPlan.

>> DEMO : Workload + Variabilisation

  • Il faut commencer par ouvrir SQL Profiler pour superviser les traitements qui seront lancés. Ensuite, à l’aide d’un refresh sur un fichier Excel, on regarde ce qui remonte dans SQL Profiler
  • Avec l’aide de ASLoadSim, on va pouvoir récupérer les requêtes qui ont été variabilisées dans l’ASQueryPlan >> C’est du code C#

3/ Méthodologie des tests de performance

On commence par définir nos objectifs/cas de test et la longueur des stress tests dont la formule est :

(Nb requêtes/fichiers) * nb fichiers * (tps de réponse estimé + thinktime (??)) Il faut ensuite choisir le modèle de charge voulu (par étape, en fonction des objectifs ou constant). On peut mixer différents tests. Enfin, on choisit les compteurs à monitorer (CPU, I/O, mémoire, requêtes).

>> DEMO : Run d’un load test

Pour cette démo, il nous a montré son code et l’a exécuté. Vous pouvez voir un résultat ci-dessous :

4/ Architecture de test

  • ASLoadSim est monobase c’est-à-dire qu’il ne peut être associé qu’à un cube. Il est possible de le lancer sur plusieurs cubes mais il faudra le dupliquer autant de fois qu’il y a de cube.
  • Architecture controleur-agent : il est conseillé d’avoir un CPU utilisé inférieur à 70% et une RAM supérieure à 10%.
  • Les tests de montée en charge peuvent être dispo sur le cloud via Visual Studio Online. Il faut néanmoins mettre à disposition les fichiers de Workload, le cube et les fichiers de conf associés.

Conclusion :

Les tests de montée en charge se font grâce à Visual Studio. On utilise le provider ADOMDNet pour les cubes MultiDim et Tabular (MDX, DMX et DAX), et d’autres providers pour du SAP, Oracle.
Session assez technique.

David – Consultant décisionnel MCNEXT

Team Foundation Service

Depuis la version 2012 de Team Foundation il existe une version dans le cloud : Team Foundation Service,  qui a pour avantage d’être :

  • accessible depuis internet
  • gratuite (limite à 5 utilisateurs)
  • mise à jour régulièrement par Microsoft

Parmi ses principales fonctionnalités il y a :

  • la gestion du code source
  • une collaboration d’équipe
  • les builds, les tests et les déploiements

header

Pour plus de détails sur ces fonctionnalités voir le site officiel.

Pour mieux comprendre comment utiliser cet outil je vous propose plusieurs webcasts.

1- Introduction à Team Foundation Service

Comment s’inscrire au service avec un compte Live ID, puis comment créer un projet d’équipe.

Tous les webcasts qui suivant s’appliquent aussi avec Team Foundation Server 2012.

2- Connexion avec Visual Studio 2012

Après s’être inscrit nous voyons comment ajouter un serveur TFS à Visual Studio 2012.

Puis comment ajouter une solution VS 2012 au controleur de source de TFS 2012.

3- Extraire, Archiver et ajouter un fichier

Dans cette vidéo nous voyons la manipulation pour Extraire un fichier (ckechout), l’archiver (checkin) et ajouter un fichier au contrôle de source.

4- Voir l’historique

Aperçu des avantages de cette fonction qui peut paraître banale mais qui à beaucoup d’utilités.

5- Comparaison et annotations

Voici un détail de ces 2  fonctions qui facilitent la productivité des développeurs travaillant en équipe.

 

Update 18/04/2014

6- Rollback et delete

Voici comment en cas d’erreur comment revenir en arrière sur des changesets et comment supprimer des éléments

 

7- Shelve et Unshelve

Voici comment « réserver des modifications » dans Team Foundation

 

8- Intégration continue

Ce webcast explique comment créer une build d’intégration continue avec Team Foundation Service