Esta informação está baseada em VB para o C# deve ser similar
Requisitos
- VB.net 2008 Express ( eu experimentei com este e funciona)
-
TortoiseSVN-Adicionar um ficheiro ao projecto chamado Versao.vb.
-Esse ficheiro só deve conter
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
<Assembly: AssemblyVersion("1.0.0.$WCREV$")>
<Assembly: AssemblyFileVersionAttribute("1.0.0.$WCREV$")>
-Nas Propriadades do ficheiro Version.vb o "Build Action" tem que ser "None"
-No ficheiro AssemblyInfo.vb apagar as linhas:
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
-Fechar a Solução.
-Editar manualmente o ficheiro "<nome do projecto>.vbproj" e modificar as seguintes linhas no final do ficheiro
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<Target Name="BeforeBuild">
<Exec Command=""C:\Program Files\TortoiseSVN\bin\SubWCRev.exe" . Version.vb Version2.vb -f"
Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<Exec Command=""C:\Program Files\TortoiseSVN\bin\SubWCRev.exe" . Version.vb Version2.vb -nmf"
Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<CreateItem Include="Version2.vb" Condition="Exists('Version2.vb')">
<Output ItemName="Compile" TaskParameter="Include" />
</CreateItem>
</Target>
<Target Name="AfterBuild">
</Target>
</Project>
-O release só é feito se não houver modificações locais.