-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor CefSharp.Core into CefSharp.Core.Runtime #3311
Refactor CefSharp.Core into CefSharp.Core.Runtime #3311
Conversation
Partial rename, only Net Core, folder not renamed
Move into CefSharp.Core namespace
Make sure users don't attempt to load them directly
… variant Attempt to load CefSharp.Core.Runtime at runtime rather than having to use msbuild to copy the correct version
As they are all managed assemblies they can target AnyCPU. Includes CefSharp.dll
Now part of the CefSharp.Core PublicApi
If no RID is specified then we can load libcef.dll using the module initializer
Rewrite common targets
Improve AnyCPU support
Only delete CefSharp.Core.Runtime.dll when AnyCPU
TODO:
|
Based on cefsharp#3306
For now the powershell build script generates the .cs file based on a x86 release build.ps1 It's not possible to directly install GenApi as it requires a Sdk style project
…tcore/coreruntimesimplified
❌ Build CefSharp 87.1.11-CI3824 failed (commit 19cdf654f0 by @amaitland) |
❌ Build CefSharp 87.1.11-CI3825 failed (commit fbfa431138 by @amaitland) |
✅ Build CefSharp 87.1.11-CI3826 completed (commit c828f72f22 by @amaitland) |
- Move ref assembly source generate into GenerateRefAssemblySource.ps1 - Call before project build Runs locally, see if Appveyor has a problem with the powershell script execution
✅ Build CefSharp 87.1.11-CI3827 completed (commit 2dc63a7ab2 by @amaitland) |
✅ Build CefSharp 87.1.11-CI3828 completed (commit 5706bce21d by @amaitland) |
Not quite sure what the public API should look like as yet, so making internal for now.
✅ Build CefSharp 87.1.11-CI3829 completed (commit 3ac022aa41 by @amaitland) |
I'm going to merge this now, there's still likely a few issues to resolve. Once |
The https://ci.appveyor.com/project/cefsharp/cefsharp/builds/36859715/job/lmn6djbvfijk3fui#L591 |
@amaitland Awesome seeing this work towards the new .Net 5! Are these changes already available somehow trough NuGet to try out? |
@Nickman87 Yes, packages are available on https://www.myget.org/gallery/cefsharp Issue #3197 has the Net Core/5 specific details, if you can report your findings there that would be greatly appreciated. |
Updated to reflect changes made in #3311
Summary:
Restructure projects/packages to
.Net Core/5.0
CefSharp.Core.dll
is now written inC#
withCefSharp.Core.Runtime.dll
being the runtime dependency that provides theMixed Mode CLI/C++
implementation.AnyCPU
targetingpacakges.config
based projects having to reload the solution for the dependencies to show up$(Platform)
at the solution level ($PlatformTarget) at project level is now sufficientlibcef.dll
is loaded.VC++
is installed.GitLink
Changes:
Convert from
x86/x64
toAnyCPU
.CefSharp.dll
CefSharp.WinForms.dll
CefSharp.Wpf.dll
CefSharp.OffScreen.dll
lib\net452
folder inNuget
packages, can no longer be moved by settingCefSharpTargetDir
property inproject file (msbuild)
.Rename
CefSharp.Core.dll
toCefSharp.Core.Runtime.dll
Public API
methods it exposes are hidden fromVisual Studio Intellisense
CefSharp.Core.dll
(AnyCPU
class library).Add
CefSharp.Core.dll
AnyCPU
) dll that provides the publicAPI
.Net Core
there will be aCLR Module Initializer
to loadlibcef.dll
from the relevant location where requiredVC++
is installedCLR Module Initializer
in.Net 4.5.2
and load the dlls at runtime to supportAnyCPU
,this would require some breaking changes to the public API, so have added support for a
app.config
transform based on Move platform dependent files to respective directories. #3168How Has This Been Tested?
Unit tests pass sucessfully. The
MinimaExample
works in the cases tested so far.Types of changes
Checklist: