2009-12-01 4 views
1

Je souhaite qu'un fichier particulier soit copié dans la sortie publiée de mon projet Web. J'ai essayé de changer le Build Action en Content et en changeant le Copy to Output Directory en Copy always. Cela fonctionne bien, sauf qu'il l'enterre dans un sous-dossier de la même manière que dans le projet. Je ne veux pas qu'il soit enterré dans un sous-dossier. Je le veux assis juste à côté du reste de la sortie publiée. Je pensais que je pourrais gérer ce problème à la place en utilisant la cible AfterPublish. Est-ce que quelqu'un peut montrer comment je pourrais faire cela? Je pense que je devrais connaître le chemin que la personne a sélectionné dans la boîte de dialogue Publier en quelque sorte.MSBuild AfterPublish Target

+0

Peut avoir une solution. Vous voulez le fichier dans le même ** contenant ** dossier qui contient la sortie publiée ou vous voulez le fichier dans le dossier racine de sortie publié? – Terry

Répondre

4

La fonctionnalité Publier est malheureusement enterrée en profondeur dans Visual Studio même. Pour cette raison, vous êtes très limité dans ce que vous pouvez faire pour étendre le processus. Pour cette raison, même une tâche simple comme vous l'avez souligné ici n'est pas vraiment possible, au moins à partir de votre fichier de projet. Si vous avez besoin d'obtenir un meilleur contrôle de vos déploiements Web, je vous suggère de jeter un coup d'œil à Web Deployment Projects et/ou MSDeploy. Ce que je ferais ajouter un projet de déploiement Web qui préparera votre application Web pour le déploiement, y compris cette copie de fichier personnalisé, puis autoriser MSDeploy à effectuer le déploiement réel pour vous.