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