Tengo un problema con la tarea Attrib desde MSBuild Community Tasks Project cuando se ejecuta en una máquina de compilación de 64 bits.MSBuild.Community.Tasks.Attrib en la máquina x64 que falla
He creado este pequeño proyecto de prueba para mostrar cuál es el problema:
<Project ToolsVersion="3.5" DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath32)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<Target Name="PrintProperties">
<Message Text="MSBuildCommunityTasksPath: $(MSBuildCommunityTasksPath)"/>
<Message Text="MSBuildCommunityTasksLib: $(MSBuildCommunityTasksLib)"/>
<Message Text="MSBuildNodeCount: $(MSBuildNodeCount)"/>
<Message Text="MSBuildExtensionsPath: $(MSBuildExtensionsPath)"/>
<Message Text="MSBuildExtensionsPath32: $(MSBuildExtensionsPath32)"/>
<Message Text="MSBuildProjectDirectoryNoRoot: $(MSBuildProjectDirectoryNoRoot)"/>
<Message Text="MSBuildToolsPath: $(MSBuildToolsPath)"/>
<Message Text="MSBuildToolsVersion: $(MSBuildToolsVersion)"/>
<Message Text="MSBuildBinPath: $(MSBuildBinPath)"/>
<Message Text="MSBuildExtensionsPath: $(MSBuildExtensionsPath)"/>
<Message Text="MSBuildProjectDefaultTargets: $(MSBuildProjectDefaultTargets)"/>
<Message Text="MSBuildProjectDirectory: $(MSBuildProjectDirectory)"/>
<Message Text="MSBuildProjectExtension: $(MSBuildProjectExtension)"/>
<Message Text="MSBuildProjectFile: $(MSBuildProjectFile)"/>
<Message Text="MSBuildProjectFullPath: $(MSBuildProjectFullPath)"/>
<Message Text="MSBuildProjectName: $(MSBuildProjectName)"/>
<Message Text="MSBuildStartupDirectory: $(MSBuildStartupDirectory)"/>
</Target>
<Target Name="TestAttrib" DependsOnTargets="PrintProperties">
<Attrib Files="Test.txt" ReadOnly="false" />
</Target>
</Project>
cuando intento para construir este proyecto con MSBuild utilizando TestAttrib como el objetivo consigo los siguientes resultados
C:> msbuild "C: _Source Code \ Test.vbproj"/t: TestAttrib Microsoft (R) Build Engine Versión 3.5.30729.1 [Microsoft .NET Framework, Versión 2.0.50727.4016] Copyright (C) Microsoft Corporation 2007. Todos los derechos reservados.
Build started 7/09/2009 2:50:12 PM.
Proyecto "C: _Source Code \ Test.vbproj" en el nodo 0 (TestAttrib target (s)).
MSBuildCommunityTasksLib: C: \ Archivos de programa \ MSBuild \ MSBuildCommunityTasks \ MSBU ild.Community.Tasks.dll
MSBuildNodeCount: 1
MSBuildExtensionsPath: C: \ Archivos de programa \ MSBuild
MSBuildExtensionsPath32: C: \ Archivos de programa (x86) \ MSBuild
MSBuildProjectDirectoryNoRoot: Código _Source
MSBuildToolsPath: C: \ Windows \ Microsoft.NET \ Framework64 \ v3.5
MSBuildToolsVersion: 3.5
MSBuildBinPath: C: \ Windows \ Microsoft.NET \ Framework64 \ v3.5
MSBuil dExtensionsPath: C: \ Archivos de programa \ MSBuild
MSBuildProjectDefaultTargets: Cuerpo
MSBuildProjectDirectory: C: Código _Source
MSBuildProjectExtension: .vbproj
MSBuildProjectFile: Test.vbproj
MSBuildProjectFullPath: C: Código _Source \ Test.vbproj
MSBuildProjectName : Prueba
MSBuildStartupDirectory: C: \
C: _Source Code \ Test.vbproj (26,5): error MSB4062: La tarea "MSBuild.Community.Tasks.Attrib" no se pudo cargar desde el ensamblado C: \ Program Files \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll. No se pudo cargar el archivo o ensamblado 'file: /// C: \ Program Files \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll' o una de sus dependencias. El sistema no puede encontrar el archivo especificado. Confirme que la declaración sea correcta y que el ensamblado y todas sus dependencias estén disponibles. Hecho Proyecto de construcción "C: _Source Code \ Test.vbproj" (TestAttrib target (s)) - FAILED.
Build FAILED.
"C: _Source Code \ Test.vbproj" (TestAttrib target) (1) -> (TestAttrib target) -> C: _Source Code \ Test.vbproj (26,5): error MSB4062: El "MSBuild. La tarea Community.Tasks.Attrib "no se pudo cargar desde el ensamblado C: \ Archivos de programa \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll. No se pudo cargar el archivo o ensamblado 'file: /// C: \ Program Files \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll' o una de sus dependencias. El sistema no puede encontrar el archivo especificado. Confirme que la declaración sea correcta y que el ensamblado y todas sus dependencias estén disponibles.
0 Warning(s)
1 Error(s)
Tiempo transcurrido 00:00:00.05
¿Por qué el MSBuild busca la tarea Attrib en C: \ Archivos de programa \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll cuando he importado explícitamente las tareas utilizando la variable (MSBuildExtensionsPath32)?
Tenía exactamente el mismo problema, gracias! – PatrickJ