[ 
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)

Reply via email to