web-dev-qa-db-fra.com

Copier toujours dans le répertoire de sortie ne fonctionne pas

J'ai un projet de console simple où je lis deux fichiers Excel. Les fichiers Excel sont inclus dans le projet ("ajouter un élément existant") et je les ai marqués avec "Copier dans le répertoire de sortie". Cependant, ils ne sont pas copiés dans le répertoire debug lors du débogage/de l'exécution du code. 

J'ai l'impression d'avoir oublié quelque chose de trivial. Que dois-je faire de plus?

37
Jonas Lincoln

Les modifications apportées aux fichiers de code non source ne provoquent pas de reconstruction - elles ne sont pas prises en compte lorsque le compilateur effectue - obsolète vérifiant.

Essayez de forcer une reconstruction complète en supprimant complètement votre répertoire de sortie (cette opération à partir de Visual Studio n'est parfois pas complète).

Il se peut que les fichiers n'aient pas été copiés car une génération complète n'a pas été exécutée.

27
Bevan

Dans les propriétés du fichier dans Visual Studio, définissez:

Action de construction : Aucune

Copier dans le répertoire de sortie : Copier toujours

54

Rien de tout cela n'a fonctionné pour mon projet WPF. Vous devez le marquer Contenu + Copier toujours.

Reportez-vous à cette page pour plus de détails sur les différentes propriétés de fichier Visual Studio.

12
Scott Shaw-Smith

Les avez-vous marqués comme contenu?

8
bh213

Question idiote mais êtes-vous en mode débogage? J'ai fait la même erreur et j'ai réalisé que j'étais en mode release.

4
Ray Booysen

J'ai eu un problème lorsque certains fichiers png ont été renommés-exclus-ajoutés à nouveau au projet. Il semblait que VS2015 avait perdu le suivi de ce qu'il fallait faire avec ces fichiers: bien que dans VS le répertoire "Copier dans le répertoire de sortie: toujours copier" soit défini, la clé CopyToOutputDirectory n'était pas présente dans le fichier csproj. Je devais changer manuellement csproj de 

<Content Include="xxx.png"/>

pour ça:

<Content Include="xxx.png">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
3
Feri

Je viens d'avoir ce problème et pour une raison quelconque, choisir "Créer une application sans manifeste" dans les propriétés du projet a finalement copié le fichier de contenu lié dans le répertoire de construction.

0
rswank

VS 2015 se comporte de la même manière, ne mettant pas à jour correctement le répertoire de sortie avec les fichiers de contenu. Ce que fait semble fonctionner, étrangement, consiste à placer un fichier texte dans le dossier contenant les fichiers de contenu et à en faire également un fichier de contenu. Le fichier texte sera copié dans le répertoire, de même que tous les autres fichiers de contenu. Plus étrange encore, si vous supprimez ensuite le fichier texte, celui-ci continuera de s'afficher dans le répertoire de sortie même s'il n'y a plus d'original à copier. 

0
John Whitmire