A new .NET add-on based on Roslyn

SyntaxEditor for WPF Forum

Posted 5 years ago by JesperTreetop
Avatar

I wasn't sure whether to post this in the .NET languages add-on forum, but I figured that's for the existing product which does its own parsing.

SyntaxEditor was very early a few years back supporting MGrammar/Oslo, which never got out of CTP. The new open-source library-based compilers codenamed Roslyn has now been available for just over four months and in the next release they will also be the official C#/VB compilers. Being able to use Roslyn as a back-end could bring very wide and deep support for lots of features. Additionally, code we write for fixes and diagnostics, as well as code working with its structures and concepts would work out of the box, for free, without having to be duplicated.

So consider this a feature request. I wouldn't be surprised if you were already working on it. If you've decided not to do it or at least not yet, that would also be nice to know. I see nothing but upside - for Actipro, not having to perfectly emulate the C# compiler, for us developers, getting a more complete product which we don't need to specially target code at - but maybe I'm missing something.

Comments (5)

Posted 5 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hello,

We do want to look into Roslyn at some point but haven't as of yet.  While it could definitely provide some nice benefits, I wonder how cross platform it is.  For instance, if we changed our WPF .NET Languages Add-on to utilize it, would it also work in Silverlight and WinRT?  My guess (with admittedly not researching it) is that it is a .NET only set of components and isn't cross platform with Silverlight/WinRT.  Do you happen to know if Roslyn is implemented as a Portable Class Library?


Actipro Software Support

Posted 5 years ago by JesperTreetop
Avatar

It seems that at this time, it is only implemented for .NET 4.5. (This NuGet package only provides a 4.5 payload: https://www.nuget.org/packages/Microsoft.CodeAnalysis/ ) I'll admit that I didn't think about this.
That said, looking at the current state of the code, there are now actually portable class libraries inside the codebase, an unnecessary exercise if they did not intend to offer at least part of it portably.

The Roadmap wiki page lists "Remove the core compiler's dependency on the full .NET framework allowing the use of the Compilation data type on platforms like WinRT." Obviously the individual compiler executables can't be portable, but what is included in terms of the code analysis is anyone's guess.

Additionally, not a week ago, this: "The workspaces layer has a dependency on the build tools because it uses MSBuild to be able to open projects and solutions in the MSBuildWorkspace type.

We plan on extracting that dependency into a separate assembly soon however, since we would like to make the core of the Workspaces layer portable."

That's still not enough detail so I posted a discussion about it over there. Let's see what they say.

Posted 5 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

That's very interesting to hear.  It sounds like they are moving in the direction of making it portable which is key for us, since our WPF/Silverlight/WinRT versions share a codebase.

Right now our minimum .NET framework is 4.0.  Moving to v4.5 would require us to break a lot of customers who wish to keep it at v4.0 at this time.  However I read yesterday (http://blogs.msdn.com/b/dotnet/archive/2014/08/07/moving-to-the-net-framework-4-5-2.aspx) that Microsoft will cease support updates on all .NET 4.x versions prior to v4.5.2 in January 2016.  That will probably start to force many customers to wish to upgrade.


Actipro Software Support

Posted 5 years ago by JesperTreetop
Avatar

There's no date, but considering this answer, I'd say they're going where you want them to go. No idea if that means the portable stuff will also be portable towards Silverlight, but WPF and WinRT are given.

Also, wouldn't it be possible to offer the Roslyn .NET add-on at 4.5 (which is what it requires, after all) and the rest at 4.0, and the people that can make use of it will, and the people that can't aren't locked out of the rest?

[Modified 5 years ago]

Posted 5 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Thanks again for the info, I like to see that they will be making a good chunk of it available via portable libraries.  Once we look into it further, I suppose we might be able to offer an alternate version of the add-on that utilized Roslyn.


Actipro Software Support

The latest build of this product (v2019.1 build 0683) was released 1 month ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.