Il s'agit d'utiliser Silverlignt 5.0 et la dernière version de Prism et Visual Studio 2010 avec l'application téléchargée page suivante :
http://www.developmentalmadness.com/archive/2009/11/04/mvvm-with-prism-101-ndash-part-6-commands.aspx
Qui est développée avec
Visual Studio 2008
Prism Composite
et Silverlight 3.0
Requirements :
Visual Studio 2010
Prism 4.0
Silverlight 5.0
Migration de Visual Studio 2008 vers Visual Studio 2010
![]() |
Ouverture de la solution avec Visual Studio 2010 |
Dans le fichier projet on remplace :
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
Par
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
Pour le .NET Framework
Et :
<TargetFrameworkVersion>v3.0</TargetFrameworkVersion>
Par :
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
Pour la version de Silverlight
Sauvegarde, puis bouton droit sur le projet Reload et la tour est joué.
Modifier les références, utiliser la dernière version de Prims
![]() |
Modifier les référence aux anciennes librairies de Prims Composite |
On supprime ces trois références pour les remplacer par une référence à :
\\Prism\Bin\Silverlight\Microsoft.Practices.Prism.dll
On Build le projet pour corriger les erreurs.
Dans :
\\CodeCamp\CodeCamp.Common\Events\MessageChangedEvent.cs
On remplace la directive Using :
using Microsoft.Practices.Composite.Presentation.Events;
Par :
using Microsoft.Practices.Prism.Events;
Dans :
\\CodeCamp\CodeCamp.Common\Utility\MockEventAggregator.cs
On remplace la directive Using :
using Microsoft.Practices.Composite.Events;
Par :
using Microsoft.Practices.Prism.Events;
Et :
public TEventType GetEvent<TEventType>() where TEventType : EventBase
Par :
public TEventType GetEvent<TEventType>() where TEventType : EventBase, new() // BRYusing Microsoft.Practices.Prism.Events;
On termine ainsi la modification des référence aux nouvelles librairies de prims tout doucement en utilisant Visual Studio qui trouvera pour nous les directives Using à utiliser :
![]() |
Visual Studio 2010 détecte les directives Using à utiliser |
\\CodeCamp\CodeCamp.Editor\EditorView.xaml
Il faut remplacer, l'ancienne référence :
xmlns:cmd="clr-namespace:Microsoft.Practices.Prims.Presentation.Commands;assembly=Microsoft.Practices.Composite.Presentation"
Par :
xmlns:cmd="http://www.codeplex.com/prism"Pour le fichier :
\\CodeCamp\CodeCamp.Shell\Bootstrapper.cs
On remplace :
Shell shell = Container.Resolve<Shell>();
Par :
Shell shell = Container.TryResolve<Shell>();
Pour résoudre les dernières erreurs on regardera aussi l'exemple :
\\Prism\Quickstarts\Modularity\Silverlight\ModularityWithUnity\ModularityWithUnity.Silverlight\QuickStartBootstrapper.cs
Et donc on remplace les directives using :
using Microsoft.Practices.Composite.Modularity;
using Microsoft.Practices.Composite.UnityExtensions;
Par :
using Microsoft.Practices.Prism.UnityExtensions;
using Microsoft.Practices.Prism.Modularity;
using Microsoft.Practices.Unity;
La fonction de crétation du catalogue :
protected override IModuleCatalog GetModuleCatalog()
Par la nouvelle :
protected override IModuleCatalog CreateModuleCatalog()
Dans le fichier :
\\PrismSamples\CodeCamp\CodeCamp.Shell\Shell.xaml
On remplace :
xmlns:Regions="clr-namespace:Microsoft.Practices.Composite.Presentation.Regions;assembly=Microsoft.Practices.Composite.Presentation"
On remplace :
xmlns:Regions="clr-namespace:Microsoft.Practices.Composite.Presentation.Regions;assembly=Microsoft.Practices.Composite.Presentation"
Par :
xmlns:Regions="http://www.codeplex.com/prism"
Les références du projet CodeCamp.Shell sont ainsi :
![]() |
Les références du projet CodeCamp.Shell |
On peut enfin lancer l'exécution de la solution, et obtenir le résultat suivant :
![]() |
Exécution de la solution CodeCamp |
Have fun !
Aucun commentaire:
Enregistrer un commentaire
Pour plus d'interactivité, n'hésitez pas à laisser votre commentaire.