207 votes

Dans un fichier .csproj, qu'est-ce que c'est? <None Include="..."> pour?

Comment est

 <None Include="C:\foo.bar" />
 

différent de

 <Content Include="C:\foo.bar" />
 

?

182voto

adrianbanks Points 36858

L'article MSDN sur l' action de génération propriété explique les différences.

Aucun - Le fichier n'est pas inclus dans le projet de sortie de groupe et n'est pas compilé dans le processus de construction. Un exemple est un fichier texte qui contient de la documentation, tel qu'un fichier Readme.

Contenu - Le fichier n'est pas compilé, mais est inclus dans le Contenu de la sortie du groupe. Par exemple, ce paramètre est la valeur par défaut pour un .htm ou tout autre type de fichier Web.

34voto

Marc Gravell Points 482669

Une différence est la façon dont ils sont publiés; Les éléments "Aucun" ne sont pas inclus dans une publication, les éléments "Contenu" le sont. Par exemple, dans la boîte de dialogue "Fichiers d'application" de l'onglet Publier.

16voto

hfrmobile Points 422

Je ne suis pas sûr à 100% (j'ai lu le MSDN description de l' Action de Construire de la propriété), mais juste de la copie de la réponse à partir de MSDN à StackOverflow ne pas répondre à la question complètement pour moi.

La différence de Aucun et le Contenu n'a d'effet que sur des projets Web. Pour une commande de projet en ligne, WinForm projet ou UnitTest projet (dans mon cas), etc. Aucun et le Contenu ont pas de comportement différent.

MSDN: "projet de sortie de groupe" ou "le Contenu de la sortie du groupe", seuls les termes utilisés dans un projet Web, non?

3voto

cedd Points 241

J'ai un projet qui ne contient pas compilable éléments (il stocke html et javascript pour le jasmin des tests unitaires).

Un jour, ma solution (qui contenait dit projet) arrêté compilation en disant: "La cible "Construire" n'existe pas dans le projet".

J'ai ajouté une importation à apporter dans le compilateur, ce qui a bien fonctionné sur ma machine, mais a échoué à l'aide de msbuild sur le serveur de build.

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

J'ai ensuite changé une ligne de

<None Include="SpecRunner.html" />

pour

<Content Include="SpecRunner.html" />

et il a travaillé sur le serveur de build.

2voto

CAD bloke Points 2986

Dans un fichier de modèle, aucun fichier de projet ne doit inclure les fichiers que vous définissez dans le modèle .v sinon ils sont perdus lors du processus de création et de traduction. Ils sont laissés dans le dossier temporaire utilisé pour tout construire, puis supprimés peu de temps après.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X