-
-
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
Additional PackageReference Nuget packages #2795
Comments
Just wanted to let everyone know I'm looking forward to .NET Core 3.0 being fully supported! |
If help is needed with this then I'd gladly help out as I'm really looking forward to this feature |
Pull Requests are welcome, finishing cefsharp/cef-binary#83 is step one. |
When three new individuals/companies signup to GitHub Sponsors then I'll make time to work on the new set of packages. For a limited time |
**WORK IN PROGRESS** Unfortunately the new chromiumembeddedframework.redist.win-x86/chromiumembeddedframework.redist.win-x64 packages aren't usable yet, the files are copied to the relevant natives folder .net core just doesn't load the dlls. I suspect if we were to p/invoke the dll then it would be loaded correctly, might need to raise this with .Net Core team. So for now just using the older cef.redist packages, which expose props that can be used in any other package. the new CefSharp.Common.win packages will copy the files using the .targets file as before, difference being PlatformTarget is used instead of Platform so we can detect the actual platform of the project not the solution. AnyCPU is not currently supported, x86/x64 only, Win32 might work, not tested though. Not clear that AnyCpu will be possible, more digging to do on that front. Issue #2795
Thanks to those that have started sponsoring my efforts! Commit bd9e568 adds what I'd class as an The packages are on the CefSharp Myget Feed, they'll need testing and bug fixing before they're ready to upload to
The Unfortunately the new So for now just using the older cef.redist packages, which expose props that can be used in any other package. The new CefSharp.Common.win packages will copy the files using the .targets file as before, difference being PlatformTarget is used instead of Platform so we can detect the actual platform of the project not the solution. AnyCPU is not currently supported, x86/x64 only, Win32 might work, not tested though. They're not ready yet, progress has been made though. |
I've got a MinimalExample branch for testing purposes, it's yet to be updated to the latest |
https://github.com/cefsharp/CefSharp.MinimalExample/tree/testing/packagereference has been updated to
|
Swiftshader and locales being visible has been moved to dotnet/project-system#5859 |
I'll have one more go at seeing if the new packages from cefsharp/cef-binary#83 can be used, see what procmon thinks is actually happening when the assemblies are being resolved. |
Progressing with what we have now seems like the way forward at the moment. I'll update https://github.com/cefsharp/CefSharp.MinimalExample/tree/testing/packagereference shortly with the latest If anyone is up for |
Additional testing and I still cannot get
The branch has been updated. |
Remembering there is no Anyone up for testing using their own project can use the packages from https://www.myget.org/gallery/cefsharp WPF
WinForms
OffScreen
For example of using your own exe to host the WinForms OffScreen |
Thank you for providing the new Regarding using the new packages in .NET Core apps, I once had an idea to add an automatism that would handle the subprocess run logic, in order to simplify using CefSharp with .NET Core. The automatism would inject a new That way, the user would no longer have to edit the You can see the idea with commits kpreisser@1e3c08e and kpreisser@b588469. Basically, the NuGet package would contain code file (.cs for C# projects, .vb for VB projects, etc.) which contain a Details:
Additionally, it would use a However, it has a few disadvantages:
Thanks! |
@kpreisser Thanks for taking the time to test 👍
It's a very clever idea, just seems a little too invasive for my liking. I'd also be concerned how complex this would be to support, there's bound to be some edge cases that we'd miss, at least initially. There's all the new async Main options that would also need to be supported. We'd probably need to make it option. I had though about shipping a Hopefully this fits in with our current build infrastructure, |
Needed to test out my idea outlined in #2795 (comment)
I've created a new project to host the net core browsersubprocess https://github.com/cefsharp/CefSharp.BrowserSubProcess.NetCore Hopefully ready for testing soon. |
Splitting the Browsersubprocess out into it's own package (just for the exe) should allow for inclusion of the correct dependency based on target framework. |
Based on some additional discussion at #2796 (comment) there might be a way forward using runtime.json to select the correct platform. It looks like we need a ref assembly for each of your x86/x64 dlls, I think we can switch the C# projects to AnyCpu and look at generating a ref assembly only for CefSharp.Core which should simplify things. Investigating this now. |
After a massive restructure of the projects (#3319) there are now a set of .Net Core 3.1 packages (these are also usable for .Net 5.0). See #3284 (comment) for details. |
New packages will only support the
PackageReference
format (VS2017/2019
will be required to use them).[ ] Use the newerruntimes\native
nuget feature for new cef.redist.win-x64/cef.redist.win-x86CEF
resources using targets fileminClientVersion
toNuget
version supported by bothVS2017/2019
(make it impossible for older versions to install the packages)CefSharp.WinForms.x86/CefSharp.WinForms.x64
CefSharp.WPF.x86/CefSharp.WPF.x64
CefSharp.OffScreen.x86/CefSharp.OffScreen.x64
There won't be
AnyCPU
support initially, the older packages will need to be used for that.References
The text was updated successfully, but these errors were encountered: