J'ai une application XBAP (WPF on browser) que je veux exécuter en tant qu'application autonome et également dans le navigateur. Comment puis-je faire cela sans faire beaucoup de changements de code, puisque nous allons faire beaucoup de modifications dans le code de toute façon. Et ce n'est pas une bonne idée de maintenir 2 bases de code différentes pour cela.Utilisation de la même application WPF pour le mode autonome et sur le Web
Répondre
J'aurais 2 projets sous une solution. Un pour Project.Web
et un pour Project.Desktop
. En supposant que vous avez déjà Project.Web
en cours et que vous ajoutez Project.Desktop
comme nouveau, utilisez "Ajouter comme lien" de Visual Studio lors de l'ajout de fichiers de Web
à Desktop
. Cela va maintenir 1 copie de chaque fichier.
hôte votre interface principale dans un UserControl
, puis ajouter que UserControl
au Project.Web.Page1
(ou quelque chose comme ça) et Project.Desktop.MainWindow
. Si vous modulez suffisamment votre programme, vous n'aurez pas à vous soucier de maintenir 2 projets, car ils seront tous les deux minces coques sur votre UserControl
principal.
+1 - Pour le "Ajouter en tant que lien". Je ne peux pas croire tout ce temps ce que je voulais était juste en face de moi (seulement légèrement caché). –
C'est trop caché IMO. Il devrait y avoir un bouton "Ajouter en tant que lien" juste à côté du bouton "Ajouter". Chaque développeur se souvient où il était au moment où ils ont été brûlés par ce bouton caché. – bufferz
Pourquoi avez-vous besoin d'une application autonome si vous avez une application de navigateur Web? Y a-t-il une différence fonctionnelle? –
J'ai besoin de l'application de 2 façons différentes, car un maître hébergera le Web où il sert et "maître" but. Sinon, les utilisateurs devraient pouvoir télécharger l'application localement et l'utiliser. Est-il possible d'installer une application XBAP en utilisant ClickOnce? Si oui, alors seul le web suffira. –