본문 바로가기

silverlight

Expression Encoder 3 SDK 사용시 FileNotFoundException 이 난다면?

Microsoft Expression Encoder 3 에서는 SDK 가 제공 되는데요.
SDK 문서를 보시면 Get Started 에 Encoder 3 SDK 를 사용하는 방법이 자세히 설명 되 있습니다.

우선 Encoder 3 SDK 를 사용하기 위해서는 Project 에서 References 를 추가 해 주셔야 합니다.
Microsoft.Expression.Encoder
Microsoft.Expression.Encoder.Types
Microsoft.Expression.Encoder.Utilities


이렇게 네 가지 dll을 추가 하셔야 합니다.
(아, 마지막의 WindowBase 는, Encoder.Types 에서 ObservableCollection 을 사용했기 때문에 추가 해 줘야 하고요^^)

헌데, 여기서 문제점을 하나 발견 했는데요.

References 추가를 한 뒤 Get Started 에 나와 있을 법한 짧막한 코드를 실행 해 보니,
References 가 분명히 추가 되 있고, 해당 Path에는 분명히 dll 파일들이 존재 하는데도..
FileNotFoundException 이 나오더군요;;

실행 된 코드는 다음과 같습니다.

static void Main(string[] args)
{
    MediaItem mediaItem = new MediaItem(@"D:\SmoothTest\Butterfly.wmv"); 

    //create job and media item for video to encode
    Job job = new Job();
    job.MediaItems.Add(mediaItem); 

    //set output directory
    job.OutputDirectory = @"D:\SmoothTest\Encode"

    //encode
    job.Encode();
}


이대표님과 같이 열심히 뒤져 봤지만, 저와 같은 증상을 띈 분이 안 계신 것 같더라고요. Encoder 포럼에 질문도 해 보고 했지만 결국 못 찾았는데요.

한 가지 특징적인 것은 이대표님 PC와 제 PC가 동일한 스팩인데다, 64bit 운영체제 라는 점입니다.
그래서, 혹시나 하는 마음에 Virtual PC 를 설치하고, Windows 7 32bit OS를 설치 한 뒤에, VS2008SP1, Expression Encoder 3 를 설치 해서 다시 테스트 해 봤습니다.

그랬더니..

아주 잘 되더군요;;

결국, 잠정적 결론이긴 하지만, Microsoft Expression Encoder 3 SDK 는 64 bit 에서는 올바르게 동작하지 않는 것 같습니다.
Microsoft Expression Encoder 3 SDK 를 사용해서 개발을 하려면 32 bit 운영체제에서 해 보셔야 할 것 같네요 :)