2016-11-23 9 views
-1

저는 수년 동안 행복하게 컴파일 된 다양한 C# 프로젝트를 보유하고 있습니다. 최근에 빌드 머신에서 참조 용 MSHTML을 사용하려고했습니다. 이를 위해 System32와 SysWOW64에서 TLB 파일을 가져 와서 'tlbimp'를 통해 ComFileReference를 사용하여 참조했습니다.mshtml.tlb의 네임 스페이스가 소문자에서 대문자로 변경되지 않았습니다.

이제 내 프로그램이 컴파일되지 않고 Namespace 'mshtml'형식의 오류가 많이 존재하지 않습니다.

네임 스페이스가 이제 MSHTML로 변경되었습니다. 왜 변경 되었습니까?

네임 스페이스가 다시 소문자가되도록이 DLL을 참조하는 올바른 방법이 있습니까?

다른 곳에서 구입 한 코드가 프로젝트 파일을 수정하지 않고도 문제가 발생했기 때문에 조금 더 심각해졌습니다. 약 5 년 동안 여러 건의 릴리스가 가능했습니다.

나는 무슨 일이 일어 났는지 정말로 확신하지 못한다. 모든 통찰력에 미리 감사드립니다. 당신은 주 Interop 어셈블리를 통해 mshtml.dll을 참조하면

비주얼 배포 :

마크

답변

0

나는 내가 잘못했고, 다른 사람이 설명 할 수없는 문제가있는 경우,이 대답이 무엇인지 일 스튜디오, 어셈블리 네임 스페이스는 하위입니다.

tlbimp를 기본 옵션과 함께 사용하여 고유 한 interop을 만들려면 어셈블리 네임 스페이스가 어퍼입니다.

C#이 작업은 성가신 일이지만, Microsoft가 그렇게하여 사용자가 잘못한 것을 알 수 있습니다 (이미 사례가 변경된 이유를 알고있는 경우).

누군가에게 시간을 절약 해주기를 바랍니다.

마크