[
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:01 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 *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).
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". The point is, that 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 that 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)