MSBuild Error MSB4062: The "InstallShield.Tasks.InstallShield" task could not be loaded from the assembly
Utilizando MSBuild para compilar los proyectos en Jenkins me encontré con el siguiente error:
Por lo que encontré, este error se produce al querer tomar las DLL de Install Shield (32 bits) como si fueran de 64 bits.
El mensaje de error completo fue:
C:\Program Files (x86)\MSBuild\InstallShield\2015Limited\InstallShield.targets(108,3): error MSB4062: The "InstallShield.Tasks.InstallShield" task could not be loaded from the assembly C:\Program Files (x86)\MSBuild\InstallShield\2015Limited\InstallShield.Tasks.dll. Could not load file or assembly 'file:///C:\Program Files (x86)\MSBuild\InstallShield\2015Limited\InstallShield.Tasks.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format. Confirm that the declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [C:\Jenkins\.jenkins\jobs\Gilbarco - Probando SETUP\workspace\InterfazGilbarco.Setup\InterfazGilbarco.Setup.isproj]
9 Warning(s)
1 Error(s)
Ahora el proyecto compila.
Saludos!
MSBuild Error MSB4062: The "InstallShield.Tasks.InstallShield" task could not be loaded from the assembly .Luego de luchar, como siempre, encontré la solución...
Por lo que encontré, este error se produce al querer tomar las DLL de Install Shield (32 bits) como si fueran de 64 bits.
El mensaje de error completo fue:
C:\Program Files (x86)\MSBuild\InstallShield\2015Limited\InstallShield.targets(108,3): error MSB4062: The "InstallShield.Tasks.InstallShield" task could not be loaded from the assembly C:\Program Files (x86)\MSBuild\InstallShield\2015Limited\InstallShield.Tasks.dll. Could not load file or assembly 'file:///C:\Program Files (x86)\MSBuild\InstallShield\2015Limited\InstallShield.Tasks.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format. Confirm that the
9 Warning(s)
1 Error(s)
Basándome en cosas de internet lo primero que hice fue, desde el Visual Studio, para las configuraciones default de Install Shield (DVD-5, SingleImage, etc) poner como plataforma de salida X86. Luego, a la hora de compilar el proyecto, en Jenkins configuré los siguientes parámetros:
/p:Configuration=SingleImage /p:VisualStudioVersion=12.0Esto no dio resultado, entonces probando encontré el problema. Este era que usaba el siguiente path de MSBuild:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exeEl problema del Path ese, es que MSBuild es de 64 bits, y necesitaba de 32. Entonces, modifiqué el path a:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exeY se solucionó el problema!
Ahora el proyecto compila.
Saludos!
Graciass me estaba volviendo loco
ResponderEliminar