image

WPF et Option Strict

Débutant une formation WPF la semaine dernière chez un client, je me suis retrouvé
sur un problème intéressant : lors de la création de projets WPF, le code généré par
Visual Studio ne compilait pas. Inutile de vous dire qu’il s’agit du genre d’incidents
qui jette un rapide discrédit sur la technologie ce qui n’est évident à gérer en début
de formation…

Le problème est lié à l’utilisation du langage VB et de la directive Option Strict.
Si vous êtes un développeur VB sérieux et rigoureux vous avez très probablement activé
l’option strict afin d’éviter d’autoriser le compilateur à ne pas signaler les opérations
de cast plutôt hazardeuses. Seul problème, le code généré par les templates de projet
de WPF n’est pas compatible avec cette vérification du compilateur si vous utilisez
Visual Studio 2008 RTM :

image 

En effet si vous éditez le fichier MyWpfExtensions.vb présent au sein de votre projet
vous trouverez la ligne de code fautive :

Friend ReadOnly Property Application() As Application
    Get
        Return Global.System.Windows.Application.Current
    End Get
End Property

Il est nécessaire de modifier le code du getter afin d’ajouter un cast explicite afin
que le code compile correctement :

Friend ReadOnly Property Application() As Application
      Get
          Return CType(Global.System.Windows.Application.Current, Application)
      End Get
End Property

La solution pour résoudre ce problème est simple : il vous faut installer
le Service Pack 1 de Visual Studio 2008
.

Autre solution si avez un besoin très urgent du correctif, vous pouvez directement télécharger
les templates mis à jour sur cet article de la KB de Microsoft
.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *