-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Refactor CefSharp.Core into CefSharp.Core.Runtime #3311
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
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.0CefSharp.Core.dllis now written inC#withCefSharp.Core.Runtime.dllbeing the runtime dependency that provides theMixed Mode CLI/C++implementation.AnyCPUtargetingpacakges.configbased projects having to reload the solution for the dependencies to show up$(Platform)at the solution level ($PlatformTarget) at project level is now sufficientlibcef.dllis loaded.VC++is installed.GitLinkChanges:
Convert from
x86/x64toAnyCPU.CefSharp.dllCefSharp.WinForms.dllCefSharp.Wpf.dllCefSharp.OffScreen.dlllib\net452folder inNugetpackages, can no longer be moved by settingCefSharpTargetDirproperty inproject file (msbuild).Rename
CefSharp.Core.dlltoCefSharp.Core.Runtime.dllPublic APImethods it exposes are hidden fromVisual Studio IntellisenseCefSharp.Core.dll(AnyCPUclass library).Add
CefSharp.Core.dllAnyCPU) dll that provides the publicAPI.Net Corethere will be aCLR Module Initializerto loadlibcef.dllfrom the relevant location where requiredVC++is installedCLR Module Initializerin.Net 4.5.2and load the dlls at runtime to supportAnyCPU,this would require some breaking changes to the public API, so have added support for a
app.configtransform based on Move platform dependent files to respective directories. #3168How Has This Been Tested?
Unit tests pass sucessfully. The
MinimaExampleworks in the cases tested so far.Types of changes
Checklist: