이 문제의 원인은 같은 이름의 dll 들이 서로 다른 버전을 가지고 있을 경우에 생기는 dll 충돌 문제를 방지하기 위해서 MS 가 제공하는 Side-by-side Assembly 때문에 발생하는 현상이다. 이 기능은 같은 컴퓨터에 여러가지 버전의 dll 이 설치되어 있는 경우에도 각각의 dll 들을 동시에 실행시켜 주는 기능이다. 즉. 각각의 애플리케이션에게 독립적인 DLL 환경을 보장해준다. 이 파일들은 \Windows\WinSxS 디렉토리에 존재한다. 이로 인해 Visual C++ 2005 부터는 프로그램 배포시에 Side-by-size dll 들을 함께 배포해야한다. 이 문제를 해결하는 가장 쉬운 방법은 MS 가 제공하는 Redistibutable package 를 설치한 후에 Visual C++ 2005 이상의 컴파일러로 빌드한 바이너리를 배포하는 것이다. Microsoft Visual C++ 2008 Redistributable Package (x86) 덧) 위의 해결책은 "응용 프로그램 구성이 올바르지 않기 때문에 이 응용프로그램을 시작하지 못했습니다." 문제를 해결하는 방법 중 하나일 뿐이며, 실제로는 dll 관련된 다른 문제일 수도 있습니다. 게임 등 상용 프로그램의 실행시에 이런 문제를 겪는다면 최신 패치를 하거나 재설치를 해보는 것이 좋은 방법입니다. 'IT > Visual Studio' 카테고리의 다른 글 |