Comment : utiliser ClickOnce pour déployer des applications pouvant s'exécuter sur plusieurs versions du .NET Framework
Vous pouvez déployer une application qui cible plusieurs versions de .NET Framework à l'aide de la technologie de déploiement ClickOnce. Cela nécessite que vous génériez et mettiez à jour les manifestes de déploiement et d'application.
Notes
Avant de modifier l'application de façon à cibler plusieurs versions de .NET Framework, vous devez vous assurer que votre application peut s'exécuter avec plusieurs versions de .NET Framework. Le common language runtime de version est différent entre .NET Framework 4 et .NET Framework 2.0, .NET Framework 3.0 et .NET Framework 3.5.
Ce processus implique les étapes suivantes :
Générer les manifestes d'application et de déploiement.
Modifier le manifeste de déploiement pour répertorier les différentes versions de .NET Framework.
Modifier le fichier app.config pour répertorier les versions du runtime .NET Framework compatibles.
Modifier le manifeste d'application pour marquer les assemblys dépendants en tant qu'assemblys .NET Framework.
Signer le manifeste d'application.
Mettre à jour et signer le manifeste de déploiement.
Pour générer les manifestes d'application et de déploiement
- Utilisez l'Assistant Publication ou la page Publier du Concepteur de projets pour publier l'application et générer les fichiers de manifeste de déploiement et d'application. Pour plus d'informations, consultez Comment : publier une application ClickOnce à l'aide de l'Assistant Publication ou Page Publier, Concepteur de projets.
Pour modifier le manifeste de déploiement afin de répertorier les différentes versions de .NET Framework
Dans le répertoire de publication, ouvrez le manifeste de déploiement à l'aide de l'Éditeur XML dans Visual Studio. Le manifeste de déploiement porte l'extension de nom de fichier .application.
Remplacez le code XML entre les éléments <compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2"> et </compatibleFrameworks> par du code XML qui répertorie les versions de .NET Framework prises en charge par votre application.
Le tableau suivant affiche certaines des versions .NET Framework disponibles et le code XML correspondant que vous pouvez ajouter au manifeste de déploiement.
Version du .NET Framework
XML
4 version de client
<framework targetVersion="4.0" profile="Client" supportedRuntime="4.0.30319" />
4 version complète
<framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" />
3.5 version de client
<framework targetVersion="3.5" profile="Client" supportedRuntime="2.0.50727" />
3.5 version complète
<framework targetVersion="3.5" profile="Full" supportedRuntime="2.0.50727" />
3.0
<framework targetVersion="3.0" supportedRuntime="2.0.50727" />
Pour modifier le fichier app.config afin de répertorier les versions compatibles du runtime .NET Framework
Dans l'Explorateur de solutions, ouvrez le fichier App.config à l'aide de l'Éditeur XML dans Visual Studio.
Remplacez (ou ajoutez) le code XML entre les éléments <startup> et </startup> par du code XML qui répertorie les runtimes de .NET Framework pris en charge par votre application.
Le tableau suivant affiche certaines des versions .NET Framework disponibles et le code XML correspondant que vous pouvez ajouter au manifeste de déploiement.
Version du runtime .NET Framework
XML
4 version de client
<supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0,Profile=Client" />
4 version complète
<supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0" />
3.5 version complète
<supportedRuntime version="v2.0.50727"/>
3.5 version de client
<supportedRuntime version="v2.0.50727" sku="Client"/>
Pour modifier le manifeste d'application afin de marquer les assemblys dépendants en tant qu'assemblys .NET Framework
Dans le répertoire de publication, ouvrez le manifeste d'application à l'aide de l'Éditeur XML dans Visual Studio. Le manifeste de déploiement porte l'extension de nom de fichier .manifest.
Ajoutez group="framework" à la dépendance XML pour les assemblys sentinel (System.Core, WindowsBase, Sentinel.v3.5Client et System.Data.Entity). Par exemple, le code XML doit ressembler à ceci :
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" group="framework">
Mettez à jour le numéro de version de l'élément <assemblyIdentity> pour Microsoft.Windows.CommonLanguageRuntime avec le numéro de version de .NET Framework qui est le plus petit dénominateur commun. Par exemple, si l'application cible .NET Framework 3.5 et .NET Framework 4, utilisez le numéro de version 2.0.50727.0 ; le code XML doit ressembler à ceci :
<dependency> <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true"> <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50727.0" /> </dependentAssembly> </dependency>
Pour mettre à jour et signer à nouveau les manifestes d'application et de déploiement
- Mettez à jour et signer à nouveau les manifestes d'application et de déploiement. Pour plus d'informations, consultez Comment : signer de nouveau des manifestes d'application et de déploiement.
Voir aussi
Référence
<compatibleFrameworks>, élément (Déploiement ClickOnce)
<dependency>, élément (Application ClickOnce)
Manifeste de déploiement ClickOnce
Concepts
Publication d'applications ClickOnce