2015. 9. 30. 15:00

 

1. 증상

'NAudio'를 빌드하고 프로젝트에 참조로 넣고 돌렸더니....

빌드 중인 프로젝트의 프로세서 아키텍처 "MSIL"과(와) "[빌드정보]" 참조의 프로세서 아키텍처 "x86"이(가) 일치하지 않습니다. 이 불일치로 인해 런타임 오류가 발생할 수 있습니다. 프로젝트와 참조 간의 프로세서 아키텍처를 정렬하거나 프로젝트의 대상 프로세서 아키텍처와 일치하는 프로세서 아키텍처를 포함하는 참조에 대한 종속성을 사용하는 것처럼 구성 관리자를 통해 프로젝트의 대상 프로세서 아키텍처를 변경하십시오.

 

아....

 

이건 참조한 'DLL'과 사용하려는 플랫폼간 '플랫폼 대상'이 달라서 발생합니다.(64비트 전용이라던가 하는 문제)

 

 

2. 해결 방법

소스가 있다면 해당 'DLL'의

프로젝트 속성 > 빌드 > 플랫폼 대상

을 사용하려는 프로젝트의 플랫폼과 맞춰주면 됩니다.

 

소스가 없다면 해당 'DLL'을 제공한 곳에 요청해서 사용하려는 플랫폼용으로 빌드해서 달라고 해야 하죠.

 

 

마무리

'.NET'의 경우 특수한 경우가 아니라면 'Any CPU'로도 문제가 없어서 흔히 격을 수 있는 경고는 아닙니다.

단지 특정 플랫폼 전용으로 만들어진 경우 손이 많이 갈 수도 있습니다. ㅡ,.ㅡ;;;