[ https://issues.apache.org/jira/browse/THRIFT-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16419347#comment-16419347 ]
Jens Geyer edited comment on THRIFT-4535 at 3/29/18 5:02 PM: ------------------------------------------------------------- {quote} I'm wondering why there even are 2 separate projects for .NET? It's important to understand that ".NET Core" is not a new programming API - It's just a new platform - very similar to Silverlight, Mono, Windows Phone. This means that it would also be possible to support .NET Core and the new ".NET Standard" (which represents a common set of APIs for all platforms) with the existing "csharp" project. {quote} Why don't you just submit a pull request to merge both into one? Can't be too hard, right? {quote} Was this a deliberate decision - e.g. to make the "netcore" code the official successor of the "csharp" code? {quote} Depends on how you define "deliberate". It was just how it started ... Let me put it this way: There are already way too many special cases with the C# library. The generator code covers a lot of them, which makes it sometimes hard to maintain it properly. As you might notice, there are also two different lib projects for framework 4.5 and below. They exist for a reason. Of course one could go for the smallest common denominator but you may lose some important things on that way, just because that denominator does not suport a particular feature. OTOH two NET libs implies that there is duplicated code, which is also bad in terms of maintenance. So there are pros and cons to both solutions. I have no problems with merging them, but we should not sacrifice anything from the feature set(s). was (Author: jensg): {quote} I'm wondering why there even are 2 separate projects for .NET? It's important to understand that ".NET Core" is not a new programming API - It's just a new platform - very similar to Silverlight, Mono, Windows Phone. This means that it would also be possible to support .NET Core and the new ".NET Standard" (which represents a common set of APIs for all platforms) with the existing "csharp" project. {quote} Why don't you just submit a pull request to merge both into one? Can't be too hard, right? {quote} Was this a deliberate decision - e.g. to make the "netcore" code the official successor of the "csharp" code? {quote} Depends on how you define "deliberate". It was just how it started *shrug* Let me put it this way: There are already way too many special cases with the C# library. The generator code covers a lot of them, which makes it sometimes hard to maintain it properly. As you might notice, there are also two different lib projects for framework 4.5 and below. They exist for a reason. Of course one could go for the smallest common denominator but you may lose some important things on that way, just because that denominator does not suport a particular feature. OTOH two NET libs implies that there is duplicated code, which is also bad in terms of maintenance. So there are pros and cons to both solutions. I have no problems with merging them, but we should not sacrifice anything from the feature set(s). > Current state and future of .NET libraries ("csharp" and "netcore")? > -------------------------------------------------------------------- > > Key: THRIFT-4535 > URL: https://issues.apache.org/jira/browse/THRIFT-4535 > Project: Thrift > Issue Type: Question > Components: C# - Library, netcore - Library > Reporter: Christian Weiss > Priority: Major > > Hi, > We are trying to use Thrift in one of our projects but we ran into some very > fundamental issues: > * The "csharp" project does not target ".NET Standard" and there's only a > very old release on nuget.org ( if [https://www.nuget.org/packages/Thrift/] > is the official one). > * The "netcore" project does target ".NET Standard" but there's no release > yet ( https://issues.apache.org/jira/browse/THRIFT-4512 ) and it also has a > dependency on ASP.NET Core ( > https://issues.apache.org/jira/browse/THRIFT-4534 ) which makes it unusable > in non-web projects. > I'm wondering why there even are 2 separate projects for .NET? It's important > to understand that ".NET Core" is not a new programming API - It's just a new > platform - very similar to Silverlight, Mono, Windows Phone. This means that > it would also be possible to support .NET Core and the new ".NET Standard" > (which represents a common set of APIs for all platforms) with the existing > "csharp" project. > Was this a deliberate decision - e.g. to make the "netcore" code the official > successor of the "csharp" code? > Would you be interested in merging the code back into one library? I'd be > willing to help if you want! > It would be great to get one proper, up to date and official .NET library > soon as there's already quite a lot of weird forks on NuGet.org: > https://www.nuget.org/packages?q=Thrift -- This message was sent by Atlassian JIRA (v7.6.3#76005)