<packages>
<package id="cef.redist.x64" version="3.3239.1723" targetFramework="net452" />
<package id="cef.redist.x86" version="3.3239.1723" targetFramework="net452" />
<package id="CefSharp.Common" version="63.0.2" targetFramework="net452" />
<package id="CefSharp.OffScreen" version="63.0.2" targetFramework="net452" />
</packages>
x86 ๋๋ x64 ์ํคํ
์ฒ๋ ๋ฌด์์
๋๊น?
x64 ๋ฐ x86 ๋ชจ๋
์ด๋ค ์ด์ ์ฒด์ ์์?
์10
WinForms
, WPF
๋๋ OffScreen
์ฌ์ฉ ์ค์
๋๊น?
์คํ์คํฌ๋ฆฐ
์ด๋ค ๋จ๊ณ์์ ๋ฌธ์ ๋ฅผ ์ฌํํฉ๋๊น?
_์ผ๋ฐ์ ์ผ๋ก:_
์น์ฌ์ดํธ๊ฐ ๋ค์ ๋ก๋๋ ํ ๋ธ๋ผ์ฐ์ ์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๊ณ ์คํฌ๋ฆฐ์ท ์ฐ๊ธฐ
_์์:_
์ด ํฌํฌ๋ฅผ ํ์ธํ์ญ์์ค
์์ ์ถ๋ ฅ์ ๋ฌด์์
๋๊น?
_์์๋๋:_
๋ธ๋ผ์ฐ์ ์ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ฉด ๋นํธ๋งต์ ํฌ๊ธฐ๊ฐ ์
๋ฐ์ดํธ๋ฉ๋๋ค.
_ํ์ฌ์:_
๋นํธ๋งต์ ํฌ๊ธฐ๋ ๋ธ๋ผ์ฐ์ ์ ํฌ๊ธฐ์ ๋ค๋ฅด๋ฏ๋ก AccessViolationException์ด ๋ฐ์ํฉ๋๋ค.
์๋์ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ญ์์ค.
Exception thrown: 'System.AccessViolationException' in System.Drawing.dll
CefSharp.OffScreen.dll!CefSharp.OffScreen.ChromiumWebBrowser.ScreenshotOrNull(CefSharp.OffScreen.PopupBlending blend) Line 510
CefSharp.OffScreen.dll!CefSharp.OffScreen.ChromiumWebBrowser.ScreenshotAsync.AnonymousMethod__1(object sender, CefSharp.OnPaintEventArgs e) Line 544
CefSharp.OffScreen.dll!CefSharp.OffScreen.ChromiumWebBrowser.CefSharp.Internals.IRenderWebBrowser.OnPaint(CefSharp.Internals.BitmapInfo bitmapInfo) Line 775 CefSharp.Core.dll!CefSharp::Internals::RenderClientAdapter::OnPaint(scoped_refptr<CefBrowser>* browser, cef_paint_element_type_t type, std::vector<CefRect,std::allocator<CefRect> >& dirtyRects, void* buffer, int width, int height) Line 18
CEF
์ํ ์ ํ๋ฆฌ์ผ์ด์
์์๋ ๋ฐ์ํฉ๋๊น?#2237์ ์ผ๋ถ๋ก OffScreen
๋ฐ WPF
ํ๋ก์ ํธ์ ๋ํ ๋ ๋๋ง์ด ์๋ฃ๋๋ ๋ฐฉ์์ด ๋ค์ ์์ฑ๋์ด ์ฝ๋์ ์ฝ๊ฐ ์์ ๋ ๋ฒ์ ์ ์คํํ์ต๋๋ค( OnPaint
์ด๋ฒคํธ๋ ์ด์ Paint
, ์ด์ ๋ค๋ฅธ ํ๋ก์ ํธ์ ๋ ์ผ๊ด๋ ๊ฐ์ OnPaint
๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์นด์ดํฐ๋ฅผ 100
๋ก ๋ณ๊ฒฝํ๋๋ฐ ์์ธ ์์ด ์คํ๋์์ต๋๋ค.
์ฃผ์ ์ฐจ์ด์ ์ ๋ฒํผ๊ฐ ํ์ฌ Bitmap
๊ฐ ์๋ byte[]
๋ก ์ ์ฅ๋๊ณ Bitmap
๊ฐ ์์ฒญ ์์๋ง ์์ฑ๋๋ค๋ ์ ์
๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฑ๋ฅ์ด ํฅ์๋๊ณ ์ค์ ๋ก ํฌ๊ฒ ์ฝ๋๋ฅผ ๋จ์ํํฉ๋๋ค.
master
๋ก ์ฌํํ ์ ์์ผ๋ฏ๋ก ์ด๊ฒ์ ๋ซ๊ณ https://github.com/cefsharp/CefSharp#releases -1 ์ ๋์ด๋ CI
๋น๋ ์ค ํ๋๋ฅผ ์๋ํ ์ ์์ต๋๋ค. ๋ฐ์ผ๋ก ASAP
.
https://github.com/cefsharp/CefSharp/issues/2237 ์ ์ผ๋ถ๋ก ๋ ๋ง์ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ ์ ์์ผ๋ฏ๋ก ์ ๋ฐ์ดํธ ์๋ฆผ์ ๋ฐ์ผ๋ ค๋ฉด ํด๋น ๋ฌธ์ ๋ฅผ ๊ตฌ๋ ํ์ญ์์ค.
๋ฌป๊ฒ ๋์ด ์ฃ์กํ์ง๋ง ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค(์์ ๋ซํ ๋ณต์ ๋ณธ ์ฐธ์กฐ). ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฌด์์ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋ฒ์ 65๋ฅผ ๊ธฐ๋ค๋ ค์ผ ํฉ๋๊น?
ํ์ธ "65.0.0-pre01"๋ก ํ ์คํธํ์ผ๋ฉฐ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ํ์ ์์ด ์์ธ๊ฐ ์ฌ๋ผ์ง ๊ฒ์ ํ์ธํ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
#2237์ ์ผ๋ถ๋ก
OffScreen
๋ฐWPF
ํ๋ก์ ํธ์ ๋ํ ๋ ๋๋ง์ด ์๋ฃ๋๋ ๋ฐฉ์์ด ๋ค์ ์์ฑ๋์ด ์ฝ๋์ ์ฝ๊ฐ ์์ ๋ ๋ฒ์ ์ ์คํํ์ต๋๋ค(OnPaint
์ด๋ฒคํธ๋ ์ด์ Paint
, ์ด์ ๋ค๋ฅธ ํ๋ก์ ํธ์ ๋ ์ผ๊ด๋ ๊ฐ์OnPaint
๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์นด์ดํฐ๋ฅผ100
๋ก ๋ณ๊ฒฝํ๋๋ฐ ์์ธ ์์ด ์คํ๋์์ต๋๋ค.์ฃผ์ ์ฐจ์ด์ ์ ๋ฒํผ๊ฐ ํ์ฌ
Bitmap
๊ฐ ์๋byte[]
๋ก ์ ์ฅ๋๊ณBitmap
๊ฐ ์์ฒญ ์์๋ง ์์ฑ๋๋ค๋ ์ ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฑ๋ฅ์ด ํฅ์๋๊ณ ์ค์ ๋ก ํฌ๊ฒ ์ฝ๋๋ฅผ ๋จ์ํํฉ๋๋ค.