2009-05-20 3 views
0

mshtml을 사용하여 ASP.NET-MVC 응용 프로그램에서 HTML을 구문 분석합니다. VS2008 Professional이 설치된 개발 컴퓨터에서 훌륭하게 작동합니다. VS Express 2008/WebDev가 설치된 스테이징 머신에서 훌륭하게 작동합니다. 그러나 Visual Studio 버전이없는 프로덕션 서버에서 COM 개체를로드하려고하면 FileNotFoundException이 발생합니다.Visual Studio가 설치되지 않은 컴퓨터에서 MSHTML을 사용하려면 어떻게해야합니까?

Exception type: FileNotFoundException 
    Exception message: Could not load file or assembly 

'Microsoft.mshtml에 버전 = 7.0.3300.0 중성 문화 = PublicKeyToken = b03f5f7f11d50a3a'또는 종속성 하나. 시스템 은 지정된 파일을 찾을 수 없습니다.

제작 상자에 Visual Studio를 설치하고 싶지 않습니다. C : \ Program files \ Common Files \ Merge modules \ vs_piaredist.exe가이 문제를 해결하지만이 디렉토리는 제작 상자에 존재하지 않는 suggestion을 읽었습니다. 제작 컴퓨터에서 mshtml을 어떻게 사용할 수 있습니까?

+0

vs_piaredist.exe는 준비 또는 dev 컴퓨터에도 존재하지 않지만 dev 컴퓨터에 vs90_piaredist라는 파일이 있습니다. –

답변

1

dev 머신에서 vs90_piaredist를 사용하는 것이 해결책 인 것 같습니다. Interop 어셈블리는 Microsoft.mshtml.dll이라고하며 C : \ Program Files \ Microsoft.NET \ Primary Interop Assemblies에 있습니다. vs90_piaredist를 실행하면 프로덕션 컴퓨터에서이 디렉터리가 만들어지고 Microsoft.mshtml.dll을 포함하여 5 개의 interop dll이이 디렉터리에 저장됩니다.

thread은이 문제에 대해 적절한 논의를 가졌습니다.

0

IE가 mshtml에 종속적입니까? 제작 상자에 설치된 IE의 버전은 무엇입니까? atleast 6으로 업그레이드하는 것이 좋습니다.

+0

IE7. mshtml.dll은 system32 디렉터리에 있지만 어떤 이유로 든 응용 프로그램에서 볼 수 없습니다. –

0

IE는 관리되지 않는 코드이므로 관리 대상에서 관리되지 않는 대상으로 이동하려면 interop 계층이 필요합니다. Primary Interop Assembly (PIA)은 일반적으로 공급 업체가 제공합니다. 이것이 piaredist.exe를 실행하도록 제안 된 이유입니다.

관련 문제