MSBuild: ZIP mit Versionsnummer
Thursday, September 4th, 2008Um in einem MSBuild File eine ZIP Datei zu erstellen kann man die Community Task von http://msbuildtasks.tigris.org/ verwenden. Das sieht dann folgendermaßen aus (Danke an Ben Hall!):
<Target Name="Zip"> <PropertyGroup> <BuildDir>$(MSBuildProjectDirectory)\MeinService</BuildDir> </PropertyGroup> <ItemGroup> <!-- DLL, EXE, PDB, *.config, keine *.vhost.exe --> <ZipFiles Include="$(BuildDir)\bin\Debug\**\*.dll" /> <ZipFiles Include="$(BuildDir)\bin\Debug\**\*.exe" Exclude="*.vhost.exe" /> <ZipFiles Include="$(BuildDir)\bin\Debug\**\*.pdb" /> <ZipFiles Include="$(BuildDir)\bin\Debug\**\*.config" /> </ItemGroup> <MakeDir Directories="$(BuildDir)\Builds" Condition="!Exists('$(BuildDir)\Builds')" /> <Zip Files="@(ZipFiles)" WorkingDirectory="$(BuildDir)\bin\Debug\" ZipFileName="$(BuildDir)\Builds\MeinService.zip" ZipLevel="9" /> </Target>
<Target Name="Zip"> <PropertyGroup> <BuildDir>$(MSBuildProjectDirectory)\MeinService</BuildDir> </PropertyGroup> <ItemGroup> <!-- DLL, EXE, PDB, *.config, keine *.vhost.exe --> <ZipFiles Include="$(BuildDir)\bin\Debug\**\*.dll" /> <ZipFiles Include="$(BuildDir)\bin\Debug\**\*.exe" Exclude="*.vhost.exe" /> <ZipFiles Include="$(BuildDir)\bin\Debug\**\*.pdb" /> <ZipFiles Include="$(BuildDir)\bin\Debug\**\*.config" /> </ItemGroup> <VersionNumber.LoadFileVersion FileName="$(BuildDir)\bin\Debug\MeinService.exe" VersionNamePath="$(BuildDir)\bin\Debug\"> <Output TaskParameter="VersionNumber" PropertyName="versionNumber" /> </VersionNumber.LoadFileVersion> <MakeDir Directories="$(BuildDir)\Builds" Condition="!Exists('$(BuildDir)\Builds')" /> <Zip Files="@(ZipFiles)" WorkingDirectory="$(BuildDir)\bin\Debug\" ZipFileName="$(BuildDir)\Builds\MeinService.$(VersionNumber).zip" ZipLevel="9" /> </Target>



