Ho riscontrato un problema con l'attività Attrib da MSBuild Community Tasks Project durante l'esecuzione su una macchina di compilazione a 64 bit.MSBuild.Community.Tasks.Attrib su macchina x64 non funzionante
Ho messo insieme questo piccolo progetto di prova per mostrare quale sia il 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>
quando tento di costruire questo progetto con MSBuild utilizzando TestAttrib come Target ottengo i seguenti risultati
C:> msbuild "C: _Source Code \ Test.vbproj"/t: TestAttrib Microsoft (R) Build Engine Versione 3.5.30729.1 [Microsoft .NET Framework, Versione 2.0.50727.4016] Copyright (C) Microsoft Corporation 2007. Tutti i diritti riservati.
Inizio lavori 7/09/2009 2:50:12 PM.
Progetto "C: _Source Code \ Test.vbproj" sul nodo 0 (TestAttrib target (s)).
MSBuildCommunityTasksLib: C: \ Program Files \ MSBuild \ MSBuildCommunityTasks \ MSBU ild.Community.Tasks.dll
MSBuildNodeCount: 1
MSBuildExtensionsPath: C: \ Program Files \ MSBuild
MSBuildExtensionsPath32: C: \ Program Files (x86) \ MSBuild
MSBuildProjectDirectoryNoRoot: Codice sorgente_
MSBuildToolsPath: C: \ Windows \ Microsoft.NET \ Framework64 \ v3.5
MSBuildToolsVersion: 3,5
MSBuildBinPath: C: \ Windows \ Microsoft.NET \ Framework64 \ v3.5
MSBuil dExtensionsPath: C: \ Program Files \ MSBuild
MSBuildProjectDefaultTargets: costruire
MSBuildProjectDirectory: C: Codice sorgente_
MSBuildProjectExtension: vbproj
MSBuildProjectFile: Test.vbproj
MSBuildProjectFullPath: C: Codice sorgente_ \ Test.vbproj
MSBuildProjectName : Test MSBuildStartupDirectory: C: \
C: _Source Code \ Test.vbproj (26,5): errore MSB4062: Impossibile caricare l'attività "MSBuild.Community.Tasks.Attrib" dall'assembly C: \ Program Files \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll. Impossibile caricare il file o l'assembly 'file: /// C: \ Programmi \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll' o una delle sue dipendenze. Il sistema non trova il file specificato. Confermare che la dichiarazione è corretta e che l'assembly e tutte le sue dipendenze sono disponibili. Progetto di costruzione completato "C: _Source Code \ Test.vbproj" (TestAttrib target (s)) - FAILED.
Build FALLITO.
"C: sorgente_ Codice \ Test.vbproj" (obiettivo TestAttrib) (1) -> (target TestAttrib) -> C: sorgente_ Codice \ Test.vbproj (26,5): l'errore MSB4062: Il "MSBuild. L'attività "Community.Tasks.Attrib" non può essere caricata dall'assieme C: \ Programmi \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll. Impossibile caricare il file o l'assembly 'file: /// C: \ Programmi \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll' o una delle sue dipendenze. Il sistema non trova il file specificato. Confermare che la dichiarazione è corretta e che l'assembly e tutte le sue dipendenze sono disponibili.
0 Warning(s)
1 Error(s)
Tempo trascorso 00:00:00.05
Perché MSBuild cerca l'attività Attrib in C: \ Programmi \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll quando ho importato esplicitamente le attività utilizzando la variabile (MSBuildExtensionsPath32)?
Aveva lo stesso identico problema, grazie! – PatrickJ