2016-09-22 2 views
0

msbuildコミュニティタスクを使用して、SVNビルド番号のソリューション内のすべてのassemblyInfo.csを更新する方法はありますか?そこにFileUpdateを使用して多くのソリューションがありますが、ソースは1つのファイルであり、すべてのファイルではありません。MSbuild svnビルドリビジョンのソリューション内のすべてのアセンブリファイルを更新します。

<FileUpdate Files="version.txt" 
    Regex="(\d+)\.(\d+)\.(\d+)\.(\d+)" 
    ReplacementText="$1.$2.$3.123" /> 

私はそれがワイルドカードを使用して、すべてのassemblyinfo.csファイルを探すことができ、動的に解決

+0

私は他のすべてが依存する別個のプロジェクトを追加したいので、常に最初にビルドされ、すべてのAssemblyInfo.csファイルがソリューションディレクトリの下に再帰的にリストされます。その後、各ファイルのバージョンを変更します。再構築を避けるために、実際には変更があった場合にのみ理想的です。 – stijn

答えて

1

でプロジェクトファイル名を知らなくても、すべてのプロジェクトを通過し、それをバージョンを変更したいです。たとえば、次のように続いて

<ItemGroup> 
    <AssemblyInfoFiles Include="..\**\AssemblyInfo.cs"/> 
</ItemGroup> 
<Target Name="AfterBuild"> 
<FileUpdate Files="@(AssemblyInfoFiles)" 
    Regex="(\d+)\.(\d+)\.(\d+)\.(\d+)" 
    ReplacementText="$1.$2.$3.123" /> 
</Target> 

stijnはあなたがビルドする前に、すべてのassemblyinfo.csファイルを更新したい場合は、他のすべてが依存するプロジェクトを追加することができ、ことを言ったように。

ビルド後にすべてのasseblyinfo.csファイルを更新する場合は、このプロジェクトへの他のプロジェクトの参照を追加する必要があります。

+0

パーフェクトソリューション –

+0

他のプロジェクトのリファレンスを追加して完全にダイナミックに保つ方法について詳しく説明できます –

+0

他のプロジェクトのリファレンスを手動で追加することができます(右クリック参照=>リファレンスの追加) –

関連する問題