TFS üzerinde oluşturmaya çalıştığım bir çözüm var. Tüm uygun dosyaların sürümlerini güncellemek istiyorum ve bunu yapmak için uğraştım. Nasıl yapılacağına dair pek çok bağlantı var, ama bunların hiçbiri benim için değil, küçük bir sorun yüzünden.ItemGroup Öğe kapsamı, alternatif olarak "MSBuild neden benden nefret ediyor?"
<?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>
Benim ağaç şöyle görünür:
- test.proj
- application.sln
- uygulama (Klasör)
- main.cs
- Özellikleri (Klasör)
- AssemblyInfo.cs
koşuyorum "c: \ Windows \ Microsoft.NET \ v3.5 \ MSBuild.exe test.proj Framework \" çözüm klasöründen ... Ben olsun aşağıdaki çıkışı:
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
Peki benim ItemGroup yapabilirsiniz küresel kapsama sahip? Derleyici ve TeamBuild tarafından kullanılan tüm Hedefler dosyaları aynı şeyi yapıyor ve hepsi de küresel görünüyor ... Neden bunun benim için çalışmıyor olduğunu anlamıyorum.
Herhangi bir yardım?
Test.proj dosyasını oluşturmaya çalışıyor musunuz? AssemblyInfo.cs'u neden proje dosyası üzerinden oluşturmaya çalıştığınızı anladığınızdan emin değilim. –
Test.proj dosyasını, sorunumu gösteren en az bir örnek olarak oluşturdum. Gerçekte, çoklu çözüm dosyamı TFS'de oluşturmaya çalışıyorum. Bu sadece ItemGroups ve Hedeflerinde görüyorum kapsam belirleme davranışını göstermek içindir. –
Keşke yardım etmeye çalışan bütün insanları kışkırtmak isterdim, ama görünüşe göre ben de 'newb' oldum. Sadece bir notu düşürmek istedim, burada herkesin harcadığı zamanı takdir ediyorum ve bunu düşünüyorum. –