2013-09-22 3 views
0

WatiN을 사용하는 C# 프로그램이 있습니다. 그것은 컴파일하고 내 개발 윈도우 7에서 잘 실행됩니다. 그러나 푸른 하늘의 2012 2012 데이터 센터에 프로그램을 복사하면 응용 프로그램이 Windows 2012 데이터 센터에있는 인터넷 탐색기의 인스턴스를 시작하려고 할 때 예외 아래에 throw됩니다.파일 또는 어셈블리를로드 할 수 없습니다. Microsoft.mshtml

System.IO.FileNotFoundException가 : 파일 또는 어셈블리 로드 할 수 없습니다 '문화 = 중립, Microsoft.mshtml에, 버전 = 7.0.3300.0을 PublicKeyToken = b03f5f7f11d50a3a'또는 해당 종속성 중 하나. 시스템에서 지정된 파일을 찾을 수 없습니다. 파일 이름 : 'Microsoft.mshtml에, 버전 = 7.0.3300.0, 문화 = 중립, PublicKeyToken = b03f5f7f11d50a3a'WatiN.Core.IE.WaitForComplete에서 WatiN.Core.Native.InternetExplorer.IEWaitForComplete.WaitForCompleteOrTimeout() (INT32에서 WatiN.Core.Browser.GoTo WatiN.Core.IE.FinishInitialization (열린 URI에서 (열린 우리당 URL)) 내가 가지이 예외에 분실하고

에서 waitForCompleteTimeOut는) 무슨 일이 서버에 누락 된?

감사합니다.

+1

이 질문에 도움이 될 수 있습니다 : http://stackoverflow.com/questions/2068159/could-not-load-file-or-assembly-microsoft-mshtml-strong-name-validation-fai –

+0

덕분에 – Henry

답변

3

모든 dev 컴퓨터의 GAC에 설치되는 표준 interop 어셈블리입니다. 정확히 어떻게 그곳에 도착했는지는 확실치 않습니다. VS 설치 프로그램이 그곳에있는 것 같습니다. 하지만 Azure 노드의 GAC에는 없을 것입니다.

프로젝트의 참조 노드를 열고 Microsoft.mshtml 항목을 선택하십시오. 로컬 복사 속성을 True로 변경하십시오. 다시 빌드하면 빌드 디렉토리에 어셈블리 복사본이 생깁니다. 다른 실행 파일과 함께 Azure 노드에 복사하십시오.

+1

어셈블리를 추가하여 고정시킵니다. 감사. – Henry