我在使用64位版本的机器上运行时出现MSBuild Community Tasks Project的Attrib任务问题。MSBuild.Community.Tasks.Attrib on x64机器故障
我已经把这个小测试项目显示的问题是什么:
<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>
当我尝试建立使用TestAttrib作为目标这个项目的MSBuild我得到下面的结果
C:> msbuild“C:_Source Code \ Test.vbproj”/ t:TestAttrib Microsoft(R)Build Engine版本3.5.30729.1 [Microsoft .NET Framework,版本2.0.50727.4016] 版权所有(C)Microsoft Corporation 2007。版权所有。
开始建造7/09/2009 2:50:12 PM。
节点0上的项目“C:_Source Code \ Test.vbproj”(TestAttrib target(s))。
MSBuildCommunityTasksLib:C:\ Program Files文件\的MSBuild \ MSBuildCommunityTasks \ MSBu ild.Community.Tasks.dll
MSBuildNodeCount:1
MSBuildExtensionsPath:C:\ Program Files文件\的MSBuild
MSBuildExtensionsPath32:C:\程序文件(x86 )\的MSBuild
MSBuildProjectDirectoryNoRoot:_Source代码
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:建立
MSBuildProjectDirectory:C:_Source代码
MSBuildProjectExtension:.vbproj
MSBuildProjectFile:Test.vbproj
MSBuildProjectFullPath:C:_Source代码\ Test.vbproj
MSBuildProjectName :测试
MSBuildStartupDirectory:C:\
C:_Source Code \ Test.vbproj(26,5):错误MSB4062:无法从程序集C:\ Program中加载“MSBuild.Community.Tasks.Attrib”任务FILES \的MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll。无法加载文件或程序集'file:/// C:\ Program Files \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll'或其某个依赖项。该系统找不到指定的文件。确认声明是正确的,并且程序集及其所有依赖项都可用。 完成构建项目“C:_Source Code \ Test.vbproj”(TestAttrib target(s)) - 失败。
构建失败。 (TestAttrib target)(1) - >(TestAttrib target) - > C:_Source Code \ Test.vbproj(26,5):error MSB4062:“MSBuild。” Community.Tasks.Attrib“任务无法从程序集C:\ Program Files \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll中加载。无法加载文件或程序集'file:/// C:\ Program Files \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll'或其某个依赖项。该系统找不到指定的文件。确认声明是正确的,并且程序集及其所有依赖项都可用。
0 Warning(s)
1 Error(s)
时间已用00:00:00。05
当我使用(MSBuildExtensionsPath32)变量显式导入任务时,为什么MSBuild在C:\ Program Files \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dll中搜索Attrib任务?
有完全相同的问题,谢谢! – PatrickJ 2010-05-10 04:46:45