У меня есть решение, которое я пытаюсь построить на TFS. Я хочу обновить версии всех соответствующих файлов, и я застрял, пытаясь сделать это. Есть много ссылок о том, как это сделать, но никто из них не работает для меня из-за одной маленькой проблемы... Область.
<?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>
Мое дерево выглядит так:
- test.proj
- application.sln
- приложение (папка)
- main.cs
- Свойства (папка)
- AssemblyInfo.cs
Когда я запускаю "c:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe test.proj" из папки решений... Я получаю следующий вывод:
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
Итак, как я могу сделать свою ItemGroup глобальной областью? Все файлы Targets, используемые компилятором и TeamBuild, делают то же самое, и все они кажутся глобальными... Я не понимаю, почему это не работает для меня.
Любая помощь?