VS2010 comment inclure des fichiers dans le projet, pour les Copier pour construire le répertoire de sortie automatiquement pendant la construction ou la publication

tâche est de former Visual Studio 2010 projet afin que, lors de toute construction ou de publier un certain foo.exe utilitaire doit être copié à la sortie ( bin ) répertoire.

au Début, j'ai fait PostBuildEvent tâche .csproj (MSBuild-file):

<PropertyGroup>
  <PostBuildEvent>
    Copy "$(SolutionDir)Toolsfoo.exe" "$(ProjectDir)$(OutDir)foo.exe"
  </PostBuildEvent>
</PropertyGroup>

Mais ce n'est pas universelle. Lors de la publication (Visual Studio 2010) foo.exe apparaît dans bin répertoire, mais n'est pas copié à la sortie publier répertoire. Peut-être que je fais tout complètement faux et il ya un mécanisme standard pour inclure des fichiers dans les projets à être plus tard, pendant la construction ou la publication, copié à bin ?

61
demandé sur Dao 2011-01-04 20:24:44

7 réponses

il y a et il ne dépend pas des événements post build.

ajouter le fichier à votre projet, puis dans le fichier propriétés sélectionner Sous" Copier vers le répertoire de sortie "soit" copier toujours "ou"copier Si Plus Récent".

voir MSDN .

93
répondu Oded 2015-10-23 14:15:34

Je n'ai besoin de push des fichiers que pendant une compilation, donc j'ai juste ajouté une entrée en ligne de commande Post-build Event comme ceci:

Copy /Y "$(SolutionDir)Third Party\SomeLibrary\*" "$(TargetDir)"

vous pouvez régler cela en cliquant avec le bouton droit de la souris sur votre projet dans L'Explorateur de solutions, puis Propriétés > Build Events

17
répondu Matthew Piatt 2016-03-18 05:50:20

dans Solution Explorer, veuillez sélectionner les fichiers que vous souhaitez copier dans le répertoire de sortie et assigner deux propriétés: - Construire l'action = Contenu - Copier le Répertoire de Sortie = Copy

ça fera l'affaire.

4
répondu user3110417 2013-12-17 08:56:45
  1. ajoutez le fichier à votre projet.
  2. allez aux propriétés de ce fichier.
  3. Set "Construire l'Action" Ressource Incorporée.
  4. définissez "Copier vers le répertoire de sortie" pour copier toujours.
2
répondu 5ervant 2017-06-27 10:41:15

dans mon cas, mettre Copy to Output Directory à Copy Always et construire n'a pas fait l'affaire, tandis que reconstruire l'a fait.

Espérons que cela aide quelqu'un!

0
répondu Joel 2013-07-17 19:11:16

essayer d'ajouter une référence à la dll manquante de votre Service/Projet web directement . Ajouter les références à un autre projet n'a pas fonctionné pour moi.

j'ai seulement eu à le faire lors de la publication de mon application web parce qu'il ne copiait pas toutes les dll nécessaires.

0
répondu goku_da_master 2016-04-27 20:41:42

juste pour que mes camarades souffrant d'une déficience neuronale puissent tenter leur chance ici, j'avais supposé que, pour les projets web, si le fichier relié était un externe .fichier de configuration que le "répertoire de sortie" serait le même répertoire que le web.config habite, c'est-à-dire la racine de votre projet web. Rétrospectivement, il n'est pas surprenant qu'il copie le fichier lié dans le dossier racine/bin.

donc, si c'est un fichier include appSettings, votre web.l'étiquette ouverte de config serait

<appSettings file=".\bin\includedAppSettingsFile.config">

Duh.

0
répondu William T. Mallard 2017-06-07 00:57:32