24

Je viens de commencer avec Silverlight et j'ai récemment ajouté un projet Silverlight à une solution établie. Dans ce scénario particulier, ma solution incluait un site Web ASP.NET existant (et non une application) que Visual Studio a aimablement proposé d'intégrer à mon application Silverlight, que j'ai accepté. Donc, tout va bien et tout, et le Silverlight XAP est copié dans le répertoire ClientBin du site web. Maintenant, j'ai décidé de lancer une nouvelle application web ASP.NET MVC qui remplacera à terme l'ancien site web (non-MVC). Mais je ne peux pas comprendre pour le moment ce que Visual Studio a modifié pour que le XAP apparaisse automatiquement dans la version ClientBin du site web, afin que je puisse le reproduire sur mon site MVC. Donc, ma question est essentiellement, quelles sont les étapes manuellement pour obtenir Visual Studio pour autocopy une application XAP Silverlight à une nouvelle application Web ASP.NET MVC?Comment obtenir le Silverlight XAP copié sur le clientbin sur la construction

+0

Merci pour la solution. –

Répondre

16

La copie du fichier XAP vers ClientBin est une tâche MSBuild. Si vous utilisez un modèle de projet ASP.NET standard, vous pouvez le trouver dans la section Lien Silverlight.

Pour tout le reste, vous pouvez peut-être trouver le nom de la tâche MSBuild et l'ajouter à votre projet ASP.NET MVC. La solution la plus simple serait probablement d'utiliser un événement post-build personnalisé sur le projet APS.NET pour copier le fichier.

Il n'y a pas de "magie" qui se passe, autre que de copier le fichier XAP du répertoire BIN de votre projet Silverlight vers le ClientBin de votre application Web. Il n'a même pas à vivre dans le répertoire ClientBin - vous pouvez le copier dans n'importe quel répertoire, ou à la racine de votre site. La version bêta 1 d'ASP.NET MVC récemment publiée inclut la prise en charge des projets Silverlight. Vous pouvez donc la lier à votre application ASP.NET MVC de la même manière que pour les applications ASP.NET classiques.

+0

Doux! Merci pour la mise à jour. –

35

Vous pouvez le faire via les propriétés de votre projet Web. Les outils Silverlight pour Visual Studio ajoutent un nouvel onglet aux propriétés des projets Web nommés "Liens Silverlight".

Ajoutez une référence à votre projet Silverlight ici, avec le dossier où vous le souhaitez, et visual studio fera la copie pour vous.

+5

Si vous n'avez pas l'onglet "Liens Silverlight" dans votre projet Web; installez le SDK Silverlight – detroitpro

4

Aller aux pages de propriétés de votre application Silverlight, choisissez Générer des événements Tab, Entrée ligne suivante Post-construction ligne de commande d'événements:

copy $(TargetDir)*.xap $(SolutionDir)<youar web solution folder name such as app.web>\ClientBin 

maintenant partir, chaque construction réussie, le fichier XAP sera copié automatiquement.

2

Ceci est un post un peu plus ancien donc il a probablement changé ... dans mon Visual Studio sous le projet web il y a un onglet appelé "Silverlight Applications". Il y a un bouton d'ajout pour les projets existants que vous importez dans la solution et vous pouvez les ajouter et choisir de placer le xap dans ClientBin ou ailleurs. Vous ne savez pas si vous devez installer le SDK pour avoir cet onglet. Je l'ai installé si vous le devez. Je ne fais pas MVC, donc ça peut être différent pour les projets MVC, je ne sais pas.

Questions connexes