7/7/2010 16:00
El Bruno
[TFS2008] Prerequisitos para comprimir con MSBuildExtensionPack (porque nadie se salva de J#)

Buenas,
cuando trabajas con tareas personalizadas en Builds en TFS2008, el pack de tareas que posee MSBuildExtensionPack, es algo que debes conocer. Una de las tareas que más trabajo nos ahorra está dentro del namespace [MSBuild.ExtensionPack.Compression] y es la clase [Zip]. Supongo que no hará falta que detalle el funcionamiento de la misma, cuando un poco de código de MSBuild vale más que mil palabras:
1: <Target Name="Sample1">
2: <ItemGroup>
3: <!-- Set the collection of files to Zip-->
4: <FilesToZip Include="C:\hotfixes\**\*"/>
5: </ItemGroup>
6:
7: <!-- Create a zip file based on the FilesToZip collection -->
8: <MSBuild.ExtensionPack.Compression.Zip TaskAction="Create"
9: CompressFiles="@(FilesToZip)"
10: RemoveRoot="C:\hotfixes\"
11: ZipFileName="C:\newZipByFile.zip"/>
12:
13: <!-- Create a zip file based on a Path -->
14: <MSBuild.ExtensionPack.Compression.Zip TaskAction="Create"
15: CompressPath="C:\hotfixes"
16: RemoveRoot="C:\hotfixes\"
17: ZipFileName="C:\newZipByPath.zip"/>
18:
19: <!-- Extract a zip file-->
20: <MSBuild.ExtensionPack.Compression.Zip TaskAction="Extract"
21: ExtractPath="C:\aaa11"
22: ZipFileName="C:\newZipByPath.zip"/>
23: </Target>
Este ejemplo realiza varias acciones con la clase Zip, pero en tiempo de ejecución es probable que te encuentres con el siguiente error:
1: Build FAILED.
2:
3: "c:\b\Bruno\SampleClient\BuildType\TFSBuild.proj" (EndToEndIteration target) (1) ->
4: (UpdaterGenerateFiles target) ->
5: C:\srcbrcp\Bruno\RefBuild\EB.Client.targets(58,5): error :
6: FileNotFoundException: Could not load file or assembly 'vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
7: El sistema no puede hallar el archivo especificado. [c:\b\Bruno\SampleClient\BuildType\TFSBuild.proj]
8: C:\srcbrcp\Bruno\RefBuild\EB.Client.targets(58,5): error :
9: [c:\b\Bruno\SampleClient\BuildType\TFSBuild.proj]
10:
11: 0 Warning(s)
12: 1 Error(s)
13:
14: Time Elapsed 00:00:34.39
Por suerte, la solución del error es lo primero que encuentras cuando buscas por internet (http://www.msbuildextensionpack.com/help/3.5.5.0/Prerequisites%20and%20Installation.htm) y básicamente nos invita a repasar los prerequisitos para utilizar esta tarea, ya que es necesario instalar [Microsoft Visual J#® 2.0 Redistributable Package – Second Edition (x86)]
Una vez instalado, pues ya comprimes sin problemas.
Saludos @ Here
El Bruno
Archivado en: Team Foundation Server,Build,Error
Comparte este post: