Visual Studio C#에서 기본 제공하는 WebBrowser 컴포넌트는 구 버전인 Internet Explorer 7 엔진을 사용 하므로, 차세대 웹 기술인 HTML5 또는 Google map v3 최신 버전 등을 지원하지 못하는 문제가 있다.
구글링으로 알아본 바로, 해결 방법으로는 3 party component 를 사용는 방법과 프로그램에 Registry 를 조작하는 코드를 심어 놓고 프로그램 구동시 설치된 IE버전과 같은 버전으로 셋팅하는 방법등이 있다.
먼저, CefCharp 설치 방법 확인.
* Visual Studio 2015 버전 사용.
* 아래 링크를 참조 하여 테스트 하였습니다.
2. https://www.nuget.org/packages/CefSharp.WinForms/
1. Test Project 생성 (File -> New -> Project)
2. CefSharp 설치 (Tools -> NuGet Package Manager -> Manage NuGet Package Solution...)
2.1. 먼저 CefSharp.Common 을 설치
CefSharp.Common 이 참조하는 아래 패키지도 같이 설치됨.
Output에 Finished 가 나오면 끝.
2.2. 동일한 방법으로 CefSharp.WinForms 설치.
2.3. 최종 설치 목록 확인
3. Solution Platform 변경.
- CefSharp 는 Any CPU 를 지원하지 않으며, x86 또는 x64만 중 성택해야함.
- 아래 와 같이 Any CPU만 있을경우 target Platform을 생성해줌.
- x64 추가
4. Project에 Library 추가
Project 경로 내에 packages/Cefsharp.WinForms.dll 추가
5. Source code 추가
6. Compile & Running
7 Trouble shooting
1. DLL 간에 버전이 맞지 않으면, InitializeChromium() 호출시 에러 발생.
2. 출력물 폴더에 DLL 이 복사 되지 않으면, DLL을 찾을수 없다는 에러 발생.
- 아래 Cef 관련 DLL 목록 확인
3. 관련 DLL이 모두 포함되어 있지만 DLL을 찾을수 없다는 에러가 발생하면
- 수동으로 한번더 설치해 준다.
'C# > WinForm' 카테고리의 다른 글
Google Calendar 연동 하기 (Schedule Sync) (0) | 2017.10.04 |
---|---|
C# WebBrowser version 변경 (0) | 2016.09.07 |