You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Update min required Visual C++ runtime from 2015 to 2019 #3636
As a flow on from we will be forced to migrate from Visual C++ 2015 as the minimum to Visual C++ 2019 runtime. A lot of users will already have the Visual C++ 2015-2019 runtime, so no action will be required.
I will provide further updates once M93 builds are available and I can confirm exactly what changes are required.
Update release notes
Update General Usage
Update FAQ
Update Readme.md
For those using the .Net Core 3.1/.Net 5.0 packages VC++ 2019 is already required.
arraysize → base::size from include/base/cef_cxx17_backports.h (or std::size with C++17)
NULL → nullptr (in most cases)
Include include/base/cef_callback.h instead of include/base/cef_bind.h (in most cases)
Implicit conversion of CefRefPtr or scoped_refptr to T* is gone; use x.get() instead
Some of these changes will happen before upgrade to keep the changes in a single commit to a more reviewable size.
Branch https://github.com/cefsharp/CefSharp/tree/upgrade/93 has the work in process, it should compile, it won't run just yet. There is an incompatibility between our C++/CLI classes and the new IMPLEMENT_REFCOUNTING implementation. It looks like the use of atomic forces the class to be a native class instead of a mixed mode class.
Write a custom macro for ref counting (commit 911e856).
There are also a lot of other cleanup tasks
Remove the old compiler nuget packages
Update build scripts to remove old now unsupported versions of Visual Studio
As expected attempting to build with VS2015/VS2019failed.
As a result CefSharp will now require VS2019 to compile, Visual C++ 2019 will now be the new minimum (Visual Studio 2022 is in preview and I expect that Visual C++ 2020 will be backwards compatible).
Include the VC++ 2019 dlls with your application (Local Deployment).
Local Deployment
As you should already have the Universal CRT installed as you previous had VC++ 2015/2017 installed (Universal CRT is also included as part of Windows 10 by default) you can bin deploy the VC++ 2019 dlls alongside your application.
The following should copy the VC++ runtime into the bin/publish folders when run under Visual Studio (won't work from the command line). NOTE: ClickOnce will need different targets to add the files.
Activity
amaitland commentedon Jul 30, 2021
As per https://groups.google.com/g/cef-announce/c/IMgnaeWipwc/m/so6nGWgWBgAJ we should use
cef_callback.hinstead. https://github.com/cefsharp/CefSharp/blob/master/CefSharp.Core.Runtime/RequestContext.cpp#L17OVERRIDEwithoverride(b24cd8e)NULLwithnullptr(a18637f)Some of these changes will happen before upgrade to keep the changes in a single commit to a more reviewable size.
Branch https://github.com/cefsharp/CefSharp/tree/upgrade/93 has the work in process, it should compile, it won't run just yet. There is an incompatibility between our
C++/CLIclasses and the newIMPLEMENT_REFCOUNTINGimplementation. It looks like the use ofatomicforces the class to be a native class instead of amixed modeclass.There are also a lot of other cleanup tasks
amaitland commentedon Jul 30, 2021
Beta builds of version
93are now available on https://cef-builds.spotifycdn.com/index.htmlAs expected attempting to build with
VS2015/VS2019failed.As a result
CefSharpwill now requireVS2019to compile,Visual C++ 2019will now be the new minimum (Visual Studio 2022 is in preview and I expect that Visual C++ 2020 will be backwards compatible).amaitland commentedon Jul 30, 2021
For those that have the
Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019installed then no change will be required.For those that have an older
VC++ 2015/2017installation there are a two options:VC++ 2019dlls with your application (Local Deployment).Local Deployment
As you should already have the
Universal CRTinstalled as you previous hadVC++ 2015/2017installed (Universal CRTis also included as part ofWindows 10by default) you can bin deploy theVC++ 2019dlls alongside your application.The following should copy the
VC++runtime into the bin/publish folders when run underVisual Studio(won't work from the command line). NOTE: ClickOnce will need different targets to add the files.For x86/x64:
For AnyCPU:
Visual C++ Runtime
Details on deploying/redistributing the
Visual C++ 2019 runtime.Universal CRT
For those looking for more detail on the
Universal CRTC++/CLI - Replace OVERRIDE with override
C++/CLI - Replace NULL with nullptr
build.ps1 - Remove older VS support
jsoldi commentedon Sep 18, 2021
Is this only for NET Core? According to
https://github.com/cefsharp/CefSharp/wiki/Output-files-description-table-(Redistribution)#Requirements
you only need the 2019 redistributables if you target NET Core, otherwise you can just use the 2015 redistributables.
amaitland commentedon Sep 18, 2021
VC++ 2019 is required for all packages now.
Wiki has been updated, thanks.