c# - msbuild properties




Pourquoi<Target Name="Build"> est introuvable dans un fichier.csproj? (3)

Donc quel est le problème? Cela dépend de votre version VS, de la version du fichier projet, de la situation du projet (TFS lié ou non), de vos paramètres sur les projets. Je vous suggère de ne pas être si curieux à propos de ces choses parce qu'elles ne vous apprennent rien. Essayez d'être curieux au sujet de la conception logique et comment ils sont mis en œuvre. Il y a beaucoup de trucs de code dur au-delà de ces structures.

À votre santé

Juste curieux - chaque fois que je vois xml de .csproj, il commence par DefaultTargets="Build" et donc je suppose que <Target Name="Build"> devrait être présent; Cependant, je n'ai jamais trouvé cette cible par défaut dans un fichier .csproj .

Est-ce que VS injecte cette cible avant la compilation ou est-ce que msbuild l'a construit par défaut? Que se passe-t-il en interne?


Il y a un ou plusieurs <Import ...> quelque part dans le fichier projet qui importe les autres fichiers qui devraient avoir cette cible ...


Un csproj a typiquement ceci:

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

ce qui selon MSDN importe également Microsoft.Common.targets qui est où cette cible est définie.







msbuild