[ 
https://issues.apache.org/jira/browse/AVRO-3238?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zoltan Csizmadia updated AVRO-3238:
-----------------------------------
    Description: 
h3. Issues:
 # If netstandard2.0 is a target, no need to add net462, sonce .NET FW 4.6.1+ 
supports using .NET STandard libraries
 # I dont think there is a need for .NET FW 4.0 support ay more
 # The csproj builds for different targets based on running on Windows or Linux
 # Many of the projects support different (maybe legacy) frameworks, e.g. ipc, 
ipc.test

h3. Proposal:
 # Add the following to {{common.props}} (root of all csharp projects):

<PropertyGroup Label="Target Frameworks">
    <!-- Exe -->
    
<DefaultExeTargetFrameworks>netcoreapp3.1;net5.0</DefaultExeTargetFrameworks>
    <!-- Library -->
    
<DefaultLibraryTargetFrameworks>netstandard2.0;netstandard2.1</DefaultLibraryTargetFrameworks>
    <!-- Unit Tests -->
    
<DefaultUnitTestsTargetFrameworks>$(DefaultExeTargetFrameworks)</DefaultUnitTestsTargetFrameworks>
 </PropertyGroup>}} # Use the following for Exe projects:

2. {{<TargetFrameworks>$(DefaultExeTargetFrameworks)</TargetFrameworks>}} # Use 
the following for Library projects:

3. {{<TargetFrameworks>$(DefaultLibraryTargetFrameworks)</TargetFrameworks>}} # 
Use the following for Unit Tests projects:

4. {{<TargetFrameworks>$(DefaultLibraryTargetFrameworks)</TargetFrameworks>}} # 
No Condition for Windows check is needed any more
h3. Pros
 # The projects builds are very uniform across Linux and Windows
 # New Target framework (e.g. the upcoming net6.0) is easy to add, just simple 
editing common.props

h3. Cons

.NET Framework 4.6+ will be supported (via .NET Standard 2.0), which in my 
opinion is acceptable in 2021

  was:
h3. Issues:
 # If netstandard2.0 is a target, no need to add net462, sonce .NET FW 4.6.1+ 
supports using .NET STandard libraries
 # I dont think there is a need for .NET FW 4.0 support ay more
 # The csproj builds for different targets based on running on Windows or Linux
 # Many of the projects support different (maybe legacy) frameworks, e.g. ipc, 
ipc.test

h3. Proposal:
 # Add the following to {{common.props}} (root of all csharp projects):

 {{  <PropertyGroup Label="Target Frameworks">}}
{{<!-- Exe -->
    
<DefaultExeTargetFrameworks>netcoreapp3.1;net5.0</DefaultExeTargetFrameworks>
    <!-- Library -->
    
<DefaultLibraryTargetFrameworks>netstandard2.0;netstandard2.1</DefaultLibraryTargetFrameworks>
    <!-- Unit Tests -->
    
<DefaultUnitTestsTargetFrameworks>$(DefaultExeTargetFrameworks)</DefaultUnitTestsTargetFrameworks>
  </PropertyGroup>}} # Use the following for Exe projects:

 {{<TargetFrameworks>$(DefaultExeTargetFrameworks)</TargetFrameworks>}} # Use 
the following for Library projects:

 {{<TargetFrameworks>$(DefaultLibraryTargetFrameworks)</TargetFrameworks>}} # 
Use the following for Unit Tests projects:

 {{<TargetFrameworks>$(DefaultLibraryTargetFrameworks)</TargetFrameworks>}} # 
No Condition for Windows check is needed any more

h3. Pros
 # The projects builds are very uniform across Linux and Windows
 # New Target framework (e.g. the upcoming net6.0) is easy to add, just simple 
editing common.props

h3. Cons

.NET Framework 4.6+ will be supported (via .NET Standard 2.0), which in my 
opinion is acceptable in 2021


> Unify TargetFrameworks for C# projects
> --------------------------------------
>
>                 Key: AVRO-3238
>                 URL: https://issues.apache.org/jira/browse/AVRO-3238
>             Project: Apache Avro
>          Issue Type: Improvement
>            Reporter: Zoltan Csizmadia
>            Priority: Minor
>
> h3. Issues:
>  # If netstandard2.0 is a target, no need to add net462, sonce .NET FW 4.6.1+ 
> supports using .NET STandard libraries
>  # I dont think there is a need for .NET FW 4.0 support ay more
>  # The csproj builds for different targets based on running on Windows or 
> Linux
>  # Many of the projects support different (maybe legacy) frameworks, e.g. 
> ipc, ipc.test
> h3. Proposal:
>  # Add the following to {{common.props}} (root of all csharp projects):
> <PropertyGroup Label="Target Frameworks">
>     <!-- Exe -->
>     
> <DefaultExeTargetFrameworks>netcoreapp3.1;net5.0</DefaultExeTargetFrameworks>
>     <!-- Library -->
>     
> <DefaultLibraryTargetFrameworks>netstandard2.0;netstandard2.1</DefaultLibraryTargetFrameworks>
>     <!-- Unit Tests -->
>     
> <DefaultUnitTestsTargetFrameworks>$(DefaultExeTargetFrameworks)</DefaultUnitTestsTargetFrameworks>
>  </PropertyGroup>}} # Use the following for Exe projects:
> 2. {{<TargetFrameworks>$(DefaultExeTargetFrameworks)</TargetFrameworks>}} # 
> Use the following for Library projects:
> 3. {{<TargetFrameworks>$(DefaultLibraryTargetFrameworks)</TargetFrameworks>}} 
> # Use the following for Unit Tests projects:
> 4. {{<TargetFrameworks>$(DefaultLibraryTargetFrameworks)</TargetFrameworks>}} 
> # No Condition for Windows check is needed any more
> h3. Pros
>  # The projects builds are very uniform across Linux and Windows
>  # New Target framework (e.g. the upcoming net6.0) is easy to add, just 
> simple editing common.props
> h3. Cons
> .NET Framework 4.6+ will be supported (via .NET Standard 2.0), which in my 
> opinion is acceptable in 2021



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to