J'ai une solution que j'essaie de développer sur TFS. Je veux mettre à jour les versions de tous les fichiers appropriés, et j'ai été bloqué en essayant d'y arriver. Il y a beaucoup de liens sur la façon de le faire, mais aucun d'entre eux ne fonctionne pour moi, en raison d'un petit problème ... Scope.Élément ItemGroup, autrement dit "Pourquoi MSBuild me déteste?"
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="DesktopBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<Target Name="DesktopBuild">
<CallTarget Targets="GetFiles" />
<Message Text="CSFiles: '@(CSFiles)'" />
</Target>
<Target Name="GetFiles">
<ItemGroup>
<CSFiles Include="**\AssemblyInfo.cs" />
</ItemGroup>
<Message Text="CSFiles: '@(CSFiles)'" />
</Target>
</Project>
Mon arbre ressemble à ceci:
- test.proj
- application.sln
- application (dossier)
- main.cs
- Propriétés (dossier)
- AssemblyInfo.cs
Quand je lance "c: \ Windows \ Microsoft.NET \ Framework \ v3.5 \ MSBuild.exe test.proj" à partir du dossier de solution ... je reçois la sortie suivante:
Microsoft (R) Build Engine Version 3.5.30729.1
[Microsoft .NET Framework, Version 2.0.50727.3074]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
Build started 7/6/2009 3:54:10 PM.
Project "D:\src\test.proj" on node 0 (default targets).
CSFiles: 'application\Properties\AssemblyInfo.cs'
DesktopBuild:
CSFiles: ''
Done Building Project "D:\src\test.proj" (default targets).
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:00.04
Alors, comment puis-je faire en sorte que mon ItemGroup ait une portée globale? Tous les fichiers de Targets utilisés par le compilateur et TeamBuild font la même chose, et tous semblent être globaux ... Je ne comprends pas pourquoi cela ne marche pas pour moi.
Une aide?
Essayez-vous de créer le fichier test.proj? Je ne suis pas sûr de comprendre pourquoi vous spécifiez AssemblyInfo.cs plutôt que de construire à partir du fichier de projet. –
J'ai construit le fichier test.proj comme un exemple minimal montrant mon problème. En réalité, j'essaye de construire mon fichier de solution multiple dans TFS. Ceci est juste pour illustrer le comportement de scoping que je vois dans ItemGroups et Targets. –
Je voudrais pouvoir upvoter toutes les personnes qui essaient d'aider, mais apparemment je suis trop 'newb'. Je voulais juste laisser tomber une note que j'apprécie le temps que tout le monde ici a passé à regarder, et à y penser. –