Win32 빌드, x64 빌드와 ResolveVCProjectOutput 작업?
-
2012년 3월 7일 수요일 오전 8:17
Win32 빌드에서는 "ResolveVCProjectOutput" 작업에 오류가 없는대요.
x64빌드를 하면 "ResolveVCProjectOutput" 작업에서 오류가 발생합니다.Win32 빌드
"Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 어셈블리에서 "ResolveVCProjectOutput" 작업을 사용합니다.
"ResolveVCProjectOutput" 작업(작업 ID:14)
VC 프로젝트 참조 "F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\src\chartwnd\chartwnd.vcproj"을(를) 확인하고 있습니다.(작업 ID:14)
VC 프로젝트 참조 "F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\src\chartwnd\chartwnd.vcproj"이(가)
"F:\Build\1\DynaX_TeamProject\DynaXTest3\Binaries\chartwnd.lib"(으)로 확인되었습니다.(작업 ID:14)
"ResolveVCProjectOutput" 작업을 실행했습니다.(작업 ID:14)
x64 빌드
"Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 어셈블리에서 "ResolveVCProjectOutput" 작업을 사용합니다.
"ResolveVCProjectOutput" 작업(작업 ID:16)
VC 프로젝트 참조 "F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\src\chartwnd\chartwnd.vcproj"을(를) 확인하고 있습니다.(작업 ID:16)
MSBUILD : error MSB4018: "ResolveVCProjectOutput" 작업에서 예기치 않은 오류가 발생했습니다. [F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\DynaX.sln]
MSBUILD : error MSB4018: System.Reflection.TargetException: static이 아닌 메서드에는 대상이 있어야 합니다. [F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\DynaX.sln]
MSBUILD : error MSB4018: 위치: System.Reflection.RuntimeMethodInfo.CheckConsistency(Object target) [F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\DynaX.sln]
MSBUILD : error MSB4018: 위치: System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) [F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\DynaX.sln]
MSBUILD : error MSB4018: 위치: System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) [F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\DynaX.sln]
MSBUILD : error MSB4018: 위치: System.Reflection.RuntimePropertyInfo.GetValue(Object obj, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture) [F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\DynaX.sln]
MSBUILD : error MSB4018: 위치: System.Reflection.RuntimePropertyInfo.GetValue(Object obj, Object[] index) [F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\DynaX.sln]
MSBUILD : error MSB4018: 위치: Microsoft.Build.Tasks.ResolveVCProjectOutput.ResolveUsingVCEngineObjectModel(ITaskItem projectRef, String configName, String& resolvedAssemblyPath, String& resolvedImportLibraryPath) [F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\DynaX.sln]
MSBUILD : error MSB4018: 위치: Microsoft.Build.Tasks.ResolveVCProjectOutput.Execute() [F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\DynaX.sln]
MSBUILD : error MSB4018: 위치: Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\DynaX.sln]
MSBUILD : error MSB4018: 위치: Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean& taskResult) [F:\Build\1\DynaX_TeamProject\DynaXTest3\Sources\DynaX\DynaX.sln]
"ResolveVCProjectOutput" 작업을 실행했습니다. - 실패(작업 ID:16)이 오류에 대한 해결 방법은 다음과 같습니다.
Unfortunatley, this is a bug with MSBuild 4.0 while targeting x64 platform for VC 2008 projects. The issue here is that VCProjectEngine.dll is not registered for 64-bit registry hive.
Please define following environment variable which should fix the issue.
VC_PROJECT_ENGINE_NOT_USING_REGISTRY_FOR_INIT=1
제가 영어가 짧아서 잘 모르겠지만 "MSBuild 4.0 버그 이고 시스템 변수를 설정해주문 해결되다" 이거 같거든요 실제로 위와 같이 해서 문제를 해결해구요.
제가 궁금한건 "VC_PROJECT_ENGINE_NOT_USING_REGISTRY_FOR_INIT" 이 환경변수의 의미가 무엇이냐는겁니다.???
모든 응답
-
2012년 3월 8일 목요일 오전 1:25중재자
안녕하십니까? 난소중하닌깐 님,
Microsoft MSDN의Forum 사이트를 방문해 주셔서 감사합니다.문의 하신 ”Win32 빌드, x64 빌드와 ResolveVCProjectOutput 작업?”에 대해 답변드리겠습니다.
[원인]
Bug with MSBuild 4.0 while targeting x64 platform for VC 2008 projects
[해결책]
VC_PROJECT_ENGINE_NOT_USING_REGISTRY_FOR_INIT=1 로 변경해주셔야합니다.[참조자료]
Team Build error MSB4018: The "ResolveVCProjectOutput" task failed unexpectedly제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.
제시해 드린 답변이 도움이 되었기를 바랍니다.
답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.
- 답변으로 표시됨 Jina LeeModerator 2012년 4월 2일 월요일 오전 2:21
- 답변으로 표시 취소됨 Jina LeeModerator 2012년 4월 2일 월요일 오전 2:21

