私はTFSで構築しようとしている解決策があります。私はすべての適切なファイルのバージョンを更新したいと思います。それを行う方法にはたくさんのリンクがありますが、どれも少しの問題のために私のために働くものはありません...範囲。ItemGroup Itemスコープ、あるいは「なぜMSBuildが私を嫌うの?
<?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をグローバルスコープにすることができますか?コンパイラとTeamBuildで使用されるすべてのターゲットファイルは同じことを行い、そのすべてがグローバルであるようです...なぜこれが私にとってうまくいかないのか分かりません。
助けが必要ですか?
test.projファイルをビルドしようとしていますか? AssemblyInfo.csを指定する理由とプロジェクトファイルからビルドするだけの理由がわかりません。 –
問題を示す最小の例としてtest.projファイルを構築しました。実際には、TFSに複数のソリューションファイルを構築しようとしています。これは、ItemGroupsおよびTargetsに表示されているスコーピングの動作を示すためのものです。 –
私は助けようとしているすべての人々をupvoteすることができればいいと思うが、明らかに私はあまりにも 'newb'です。私はちょうど私がここで誰もが見ている時間を感謝し、これについて考えているメモを落としたかった。 –