2012-12-16 2 views
0

Windows Media Center Plugin을 처음 작성하려고합니다.추가 어셈블리 Media Center 플러그인

플러그인은 외부 어셈블리 zeroconfignetservices을 사용하려고합니다. 모든 것이 올바르게 컴파일 된 프로젝트를 만들었습니다. 그러나 미디어 센터에서 응용 프로그램을 실행하면 다음과 같은 오류가 이벤트 뷰어에 나타납니다.

Exception System.IO.FileNotFoundException: Could not load file or assembly 'ZeroconfService, Version=0.6.0.0, Culture=neutral, PublicKeyToken=1df4e21661f2383d' or one of its dependencies. The system cannot find the file specified. 

그러나 어셈블리는 GAC에로드됩니다. gacutil /l zeroconfservice의 출력 :

Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.17929 
Copyright (c) Microsoft Corporation. All rights reserved. 

The Global Assembly Cache contains the following assemblies: 
zeroconfservice, Version=0.6.0.0, Culture=neutral, PublicKeyToken=1df4e21661f2 
383d, processorArchitecture=x86 

Number of items = 1 

또한 미디어 센터 플러그인과 같은 디렉토리에 ZeroconfService.dll의 사본을 넣어했습니다.

미디어 센터 플러그인을 만들기 위해 어셈블리를 보려면 어떻게해야합니까?

코드를 컴파일 할 때 한 가지 경고가있었습니다. 저는 .NET 개발자가 아니며 경고의 뉘앙스를 이해하지 못합니다. 아마도 이것은 관련이 있습니까?

warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "ZeroconfService", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. 

답변

2

플러그인 프로젝트가 x86을 타겟팅하는지 확인하십시오. 관리 프로젝트가 64 비트 코드로 JITing되어 프레임 워크가 64 비트 어셈블리를 찾게됩니다. 프로젝트 속성 - 아래의 Visual Studio 2012이>으로 Build-> 플랫폼 대상에서

- Project Properties Screenshot>

+0

나는 이것이 올바른 방향으로 나아갈 단계로 나를 데려 갔다고 생각하기 때문에 유권자에게 투표를하고 있습니다. 그러나 이제 플러그인 (어셈블리를 참조하는)이 전혀로드되지 않습니다. – Ryan

1

나는이 같은 오류를 가지고 있었고, 난 포기하고 있었다. 내가 찾은 해결책은 Windows Media Center SDK에서 제공하는 모든 지침이 x86 용으로 빌드하는 것을 명시 적으로 말한 것입니다. 해결책은 이것을 x64로 변경하는 것이 었습니다. 메모로서 저는 윈도우 7 64 비트 프로세서를 실행 중입니다.