Closed cilerler closed 4 years ago
Unfortunately ClearScript depends on reflection and dynamic runtime APIs that are not covered by the current .NET Standard. Furthermore, its V8 bridge is a mixed assembly and therefore requires .NET Framework.
Thank you, do you think it will be covered by .NET Standard 2?
Possibly. We'll keep this issue open and check again soon. Looks like .NET Standard 2.0 was finalized just yesterday!
Net Standard 2 support would be great.
I am agree. Vert great :)
+1 .Net Core 2.0 support
@ClearScriptLib any news on supporting .netstandard 2.0?
Hi @ipjohnson,
We've analyzed the ClearScript assemblies, and it didn't look too bad. A couple dozen APIs, most of them related to COM interop, are not available on .NET Standard.
A bigger problem for ClearScript is its dependence on Windows. JScript and VBScript are Windows-specific, and ClearScriptV8 is mixed-mode (an assembly type that's only supported on Windows).
So even if it used 100% .NET Standard APIs, ClearScript would still be Windows-only. Unfortunately, at this point, the fastest route to a portable ClearScript would probably be a fork based on ChakraCore.
Thanks!
@ClearScriptLib Thanks for the update.
+1 That would be great, even if it's Windows-only. I develop on Windows so go for it. :-)
Do you have any timeline?
Most of us could live without JScript and VBScript. What we're looking for is the ability to load modern JavaScript so we can do pre-rendering like they do in Node. So an #if version that only exposed JavaScript in .NET Standard would still be really useful.
Thanks, @Grauenwolf. Just wondering, why are you looking for .NET Standard support? Do you wish to host your application in .NET Core or another runtime? Or are you interested in non-Windows platforms?
@ClearScriptLib it is crucial to move applications to Docker environment (could be Linux, could be Windows, isn't that the era we are in now) 😄 Please help us and implement a workaround. 🤗
Mostly I am interested in ridding myself of dependences on Node.
Node is used a lot by UI devs for build steps and pre-rendering pages. ASP.NET Core could easily do the same thing if it could run the parsers written in JavaScript.
Yes, running on non-Windows is a must. Nobody is going to consider replacing Node with ASP.NET if Linux support isn't an option.
V8 & .Net Core on Linux +1
V8 & .Net Core on Linux +1
Folks,
Thanks for clarifying your requirements.
Unfortunately ClearScript's V8 connector is implemented in C++/CLI and would have to be redeveloped from scratch to gain cross-platform capability.
Have you considered purely managed JavaScript solutions such as Jint? There's also a portable solution based on V8 here.
Cheers!
I would love to use ClearScript within my .NET Core web application. Today I can't because the module won't initialize. Support for .NET Standard is much appreciated.
Hi, this is a great library and great work done by Clearscript team.We at Ubimax are trying to reuse some of our features from an existing windows application into a Unity/Hololens project. We used Clearscript for JS/C# bridging and it was great. But Clearscript seems not to be compatible with Unity. Is there any progress on making a .net standard/.net core supported version which is cross platform or if someone has tried making it usable with Unity/Hololens projects? Thanks in advance :)
Hi @ashutosh-kiddev,
Thanks for your kind words. Unfortunately redeveloping ClearScriptV8 for compatibility with the current .NET Core would be a large project.
Instead we're hoping that .NET Core will eventually gain the platform features that ClearScriptV8 requires. To that end we're observing CoreCLR issues #18013 and #659.
Cheers!
@ClearScriptLib Thanks a lot for the quick response. We will keep looking for the progress and hope this gets done sooner than later. :)
@smokeelow Our interest in bringing ClearScript to .NET Core remains very high. If and when .NET Core officially gains support for mixed-mode assemblies, supporting it will become our top priority.
@ClearScriptLib https://github.com/dotnet/coreclr/issues/18013 has been closed :wink:
@ClearScriptLib dotnet/coreclr#18013 has been closed 😉
It has, but with the caveat that only the .NET side is completed and that remaining work on the C++/CLI side is being internally tracked.
Any chance to make this happen in .NetCore3?
I'd like to add that even a windows only .Net Standard or Core support would be appreciated. Microsoft is quite clearly communicating that this will be the future. So we would like to move our project to .Net Core even though it is windows only.
As i see above, many developers like me are very eager for your support on .Net Core. Maybe my expectation is a little bit higher. I hope ClearScript can be used on .Net Core and cross platforms(not windows-only). It should be totally available on .Net Core(/Standard).
Unfortunately redeveloping ClearScriptV8 for compatibility with the current .NET Core would be a large project.
.Net itself has been redeveloped and keeps going on. ClearScript is also an official project which represents trust and advance in our minds. So if .NET Core 3.0 doesn't gain support for mixed-mode assemblies, redeveloping a project as 'ClearScript.Core', rather than waiting for something, should be more meaningful to us. The .Net Framework will be a history, and don't let it be a stumbling block——unless you would abandon this project in the future.
@ClearScriptLib FYI
https://github.com/dotnet/coreclr/issues/18013#issuecomment-534289704
I want to share a quick update on this. The latest on the C++/CLI roadmap can be found on our C++ blog here: https://devblogs.microsoft.com/cppblog/the-future-of-cpp-cli-and-dotnet-core-3/
.NET Core support for C++/CLI is coming in .NET Core 3.1 which is shipping with Visual Studio 2019 16.4.
@ClearScriptLib any update on this? Would you please provide a status update. Thanks in advance
as .NET Core vNext will be called .NET 5.0 and .NET Framework 4.8 is the last version which suggests an upgrade from .NET Framework 4.8 to .NET 5.0 will be the only and inevitable upgrade path for legacy windows applications - are there real chances of support for .NET 5.0 (at least windows only)?
@PlonkaAdam No need to blur the water, read the entire issue, please. We have a great chance to receive .NET 3 upgrade, based on what @ClearScriptLib said above. There were two blocking issues, which both resolved as far as I know. However, the only downside will be running it on the Windows environment, but it will be still feasible to use .NET Core 3.
Hi @cilerler,
An update:
Assuming that .NET Core 3.1 fully supports mixed-mode assemblies, we should have a release targeting that platform at some point. Unfortunately, as ClearScript is a side project, we can't commit to any definite timelines.
Thanks!
That is fantastic news @ClearScriptLib. Thank you very much!
@ClearScriptLib Waiting for good news! Thanks!
When the post says "C++/CLI is only enabled on Windows", what does that mean in terms of the V8 interface port & ClearScript working on other platforms (e.g Linux)?
Hi @colonelchlorine,
.NET Core 3.1 supports mixed assemblies, but only on Windows. ClearScript won't be portable to other operating systems until that changes.
Cheers!
ClearScript 6.0 added support for .NET Core 3.1 on Windows.
What remains to be done to enable this support for Linux?
They would have to rewrite the library to not by a C++/CLI library.
@crowder @tombatron Strictly speaking, the issue is not with C++/CLI but the fact that ClearScriptV8 is a mixed assembly - one that packs managed and native code into a single file. Such assemblies are supported only on Windows, and our understanding is that Linux support would require kernel and toolchain modifications.
Anyway, because ClearScript now supports .NET Core, we're closing this issue. Please feel free to open new ones to report any problems you encounter with ClearScript on any supported platform.
When I try to add it from Nuget it says