Error al compilar Dynamics 365 for Operations Update 3

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en AX7 - D3FO, Sin categoría

Si estáis trabajando con la primera versión de Dynamics 365 for Operations Update 3, al intentar compilar nuestro aplicativo vía Visual Studio Online nos encontraremos con el siguiente error:

2016-11-09T16:38:25.5277020Z VERBOSE: 4:38:25 PM: – Backup completed with RoboCopy exit code: 1.
2016-11-09T16:38:45.0277150Z VERBOSE: 4:38:45 PM: – Backup contains 5267623892 bytes in 193683 files:
2016-11-09T16:38:45.0277150Z I:\DynamicsBackup\Packages
2016-11-09T16:38:45.0277150Z WARNING: 4:38:45 PM: – Backup size does not match deployment metadata size
2016-11-09T16:38:45.0277150Z (Backup: 5267623892 bytes, Deployment metadata: 5267031092 bytes).
2016-11-09T16:38:45.0589660Z VERBOSE: 4:38:45 PM: – Exception thrown at
2016-11-09T16:38:45.0589660Z C:\DynamicsSDK\PrepareForBuild.ps1:261: throw “Failed to create backup of
2016-11-09T16:38:45.0589660Z metadata packages.”
2016-11-09T16:38:45.0589660Z
2016-11-09T16:38:45.0589660Z System.Management.Automation.RuntimeException: Failed to create backup of
2016-11-09T16:38:45.0589660Z metadata packages.
2016-11-09T16:38:45.1527190Z ##[error]Write-Message : 4:38:45 PM: Error preparing build environment: Failed to
create backup of metadata packages
.

Siendo totalmente imposible compilar nuestro aplicativo.
Siempre que intentamos programar la compilación nos encontramos que el script de realizar el backup de nuestro código falla, dando un tamaño diferente entre origen y destino.

Esto es debido a un error en el script de copia, donde el script de Powershell al copiar la carpeta J:\AosService\PackagesLocalDirectory para hacer un backup, está copiando el contenido de un Symlink en lugar del link

Podéis encontrar más información en el siguiente link de lcs https://fix.lcs.dynamics.com/Issue/Resolved/?kb=3205627

Para arreglar el problema, podemos instalar el hotfix facilitado por Microsoft o agregar nostros el parámetro /SL en el script de copia, para ello nos conectaremos por terminal server a nuestro servidor y buscaremos la siguiente ruta: c:\DynamicsSDK el archivo PrepareForBuild.ps1

error_mail

Editamos el fichero y agregamos el parámetro /SL en la siguiente sentencia:

$Output = & RoboCopy $DeploymentPackagesPath $BackupPath /MIR /COPYALL /E /R:3 /W:10 /NFL /NDL /NS /NC /NP /SL /LOG:”$RoboCopyLog”

error_mail