64ビットビルドマシンで実行しているときに、 MSBuild CommunityTasksProjectのAttribタスクに問題があります。
この小さなテストプロジェクトをまとめて、問題が何であるかを示しました。
<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)BuildEngineバージョン3.5.30729.1[Microsoft .NET Framework、バージョン2.0.50727.4016] Copyright(C)Microsoft Corporation 2007. All rights reserved 。
ビルドは2009年7月9日午後2時50分12秒に開始されました。
ノード0(TestAttribターゲット)のプロジェクト「C:_SourceCode\Test.vbproj」。
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:_Source Code
MSBuildToolsPath c:\ Windows \ Microsoft.NET \ Framework64 \ v3.5
MSBuildToolsVersion:3.5
MSBuildBinPath:c:\ Windows \ Microsoft.NET \ Framework64 \ v3.5
MSBuildExtensionsPath:C:\ Program Files \ MSBuild
MSBuildProjectDefaultTargets:Build
MSBuildProjectDirectory:C:_Sourceコード
MSBuildProjectExtension:.vbproj
MSBuildProjectFile:Test.vbproj
MSBuildProjectFullPath:C:_Source Code \ Test.vbproj
MSBuildProjectName:Test
MSBuildStartupDirectory:C:\
C:_Source Code \ Test.vbproj(26,5):エラーMSB4062:"MSBuild.Community。 Tasks.Attrib "タスクをアセンブリC:\ Program Files \ MSBuild \ MSBuildCommunityTasks\MSBuild.Community.Tasks.dllから読み込めませんでした。ファイルまたはアセンブリ'file:/// C:\ Program Files \ MSBuild \ MSBuildCommunityTasks\MSBuild.Community.Tasks.dll'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。宣言が正しいこと、およびアセンブリとそのすべての依存関係が使用可能であることを確認してください。プロジェクト「C:_SourceCode \ Test.vbproj」(TestAttribターゲット)の構築が完了しました-失敗しました。
ビルドに失敗しました。
"C:_Source Code \ Test.vbproj"(TestAttrib target)(1)->(TestAttrib target)-> C:_Source Code \ Test.vbproj(26,5):エラーMSB4062:"MSBuild.Community.Tasks。 Attrib "タスクをアセンブリC:\ Program Files \ MSBuild \ MSBuildCommunityTasks\MSBuild.Community.Tasks.dllから読み込めませんでした。ファイルまたはアセンブリ'file:/// C:\ Program Files \ MSBuild \ MSBuildCommunityTasks\MSBuild.Community.Tasks.dll'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。宣言が正しいこと、およびアセンブリとそのすべての依存関係が使用可能であることを確認してください。
0 Warning(s)
1 Error(s)
経過時間00:00:00.05
(MSBuildExtensionsPath32)変数を使用してタスクを明示的にインポートしたのに、MSBuildがC:\ Program Files \ MSBuild \ MSBuildCommunityTasks \ MSBuild.Community.Tasks.dllでAttribタスクを検索するのはなぜですか?