Skip to content

Commit 591c0b6

Browse files
authored
Support .NET 8.0 (#2)
* GitHub actions is default include in the solution * Consolidate Directory.Build.targets * Add .NET 8.0 * Try upgrade C# 11 * Fix pack nuget with --output * Push package to cloudsmith
1 parent d38a9be commit 591c0b6

File tree

12 files changed

+67
-24
lines changed

12 files changed

+67
-24
lines changed

.github/workflows/dotnet-core.yml

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,42 @@ jobs:
1919
- uses: actions/checkout@v3
2020
with:
2121
fetch-depth: 0
22-
- name: Setup .NET Core 7.0.x, 6.0.x and 3.1.x
22+
23+
- name: Setup .NET Core 8.0.x, 7.0.x, and 6.0.x
2324
uses: actions/setup-dotnet@v3
2425
with:
2526
dotnet-version: |
26-
3.1.x
2727
6.0.x
2828
7.0.x
29+
8.0.x-x
30+
2931
- name: dotnet info
3032
run: dotnet --info
33+
3134
- name: Install dependencies
3235
run: dotnet restore --verbosity normal
36+
3337
- name: Build
3438
run: dotnet build --configuration Release --no-restore --verbosity normal
39+
3540
- name: Test
3641
run: dotnet test -c Release --no-build --verbosity normal
42+
3743
- name: Pack
38-
run: dotnet pack -c Release -o ./artifacts/packages/ --no-build --verbosity normal
44+
run: dotnet pack src/NetLah.Extensions.HttpOverrides -c Release -o ./artifacts/packages/ --no-build --verbosity normal
45+
3946
- if: ${{ success() && runner.os == 'Windows' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')) }}
4047
name: Push MyGet
4148
run: dotnet nuget push .\artifacts\packages\*.nupkg -s https://www.myget.org/F/netlah/api/v2/package -k ${{ secrets.MYGET }}
49+
4250
- if: ${{ success() && runner.os == 'Windows' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')) }}
4351
name: Publish Nuget to GitHub registry
4452
run: dotnet nuget push .\artifacts\packages\*.nupkg -s https://nuget.pkg.github.com/NetLah/index.json --skip-duplicate -k ${{ secrets.PUSH_GITHUB_REGISTRY_TOKEN }}
53+
54+
- name: Push cloudsmith
55+
if: ${{ success() && runner.os == 'Windows' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')) }}
56+
run: dotnet nuget push .\artifacts\packages\*.nupkg -s https://nuget.cloudsmith.io/netlah/net-main1/v3/index.json --skip-duplicate -k ${{ secrets.PUSH_CLOUDSMITH_TOKEN }}
57+
58+
- name: Push cloudsmith dev
59+
if: ${{ success() && runner.os == 'Windows' && (startsWith(github.ref, 'refs/heads/dev')) }}
60+
run: dotnet nuget push .\artifacts\packages\*.nupkg -s https://nuget.cloudsmith.io/netlah/net-dev1/v3/index.json --skip-duplicate -k ${{ secrets.PUSH_CLOUDSMITH_TOKEN }}

DevNotes.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Development Notes
2+
3+
## Overview
4+
- Notes on build and Github actions
5+
6+
## .NET 8.0 Build issues
7+
8+
- C# 11.0, CS8936: Feature 'file types' is not available in C# 10.0
9+
10+
```
11+
/Users/runner/work/http-overrides/http-overrides/src/NetLah.Extensions.HttpOverrides/Microsoft.AspNetCore.Http.Generators
12+
/Microsoft.AspNetCore.Http.Generators.RequestDelegateGenerator/GeneratedRouteBuilderExtensions.g.cs(52,23):
13+
error CS8936: Feature 'file types' is not available in C# 10.0. Please use language version 11.0 or greater.
14+
[/Users/runner/work/http-overrides/http-overrides/src/NetLah.Extensions.HttpOverrides/NetLah.Extensions.HttpOverrides.csproj::TargetFramework=net8.0]
15+
```

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<!-- Embed source files that are not tracked by the source control manager in the PDB -->
2020
<EmbedUntrackedSources>true</EmbedUntrackedSources>
2121

22-
<LangVersion>10.0</LangVersion>
22+
<LangVersion>11.0</LangVersion>
2323
<ImplicitUsings>enable</ImplicitUsings>
2424
<Nullable>enable</Nullable>
2525
</PropertyGroup>

Directory.Build.targets

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
<Project>
22

33
<PropertyGroup>
4-
<CurrentFrameworkVersion>6.0.12</CurrentFrameworkVersion>
5-
<FrameworkVersion Condition="'$(TargetFramework)' != 'net5.0' And '$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0' And '$(TargetFramework)' != 'net6.0-windows'">3.1.*</FrameworkVersion>
4+
<CurrentFrameworkVersion>6.0.15</CurrentFrameworkVersion>
5+
<FrameworkVersion Condition="'$(TargetFramework)' != 'net5.0' And '$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0' And '$(TargetFramework)' != 'net8.0' And '$(TargetFramework)' != 'net6.0-windows'">3.1.*</FrameworkVersion>
66
<FrameworkVersion Condition="'$(TargetFramework)' == 'net5.0'">5.*</FrameworkVersion>
77
<FrameworkVersion Condition="'$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net6.0-windows'">6.*</FrameworkVersion>
88
<FrameworkVersion Condition="'$(TargetFramework)' == 'net7.0'">7.*</FrameworkVersion>
9-
<SystemTextJsonVersion Condition="'$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0' And '$(TargetFramework)' != 'net6.0-windows'">5.*</SystemTextJsonVersion>
10-
<SystemTextJsonVersion Condition="'$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net7.0' Or '$(TargetFramework)' == 'net6.0-windows'">$(FrameworkVersion)</SystemTextJsonVersion>
11-
<SwashbuckleVersion Condition="'$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0'">5.*</SwashbuckleVersion>
12-
<SwashbuckleVersion Condition="'$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net7.0'">6.*</SwashbuckleVersion>
9+
<FrameworkVersion Condition="'$(TargetFramework)' == 'net8.0'">8.*-*</FrameworkVersion>
10+
<SystemTextJsonVersion Condition="'$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0' And '$(TargetFramework)' != 'net8.0' And '$(TargetFramework)' != 'net6.0-windows'">5.*</SystemTextJsonVersion>
11+
<SystemTextJsonVersion Condition="'$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net7.0' Or '$(TargetFramework)' == 'net8.0' Or '$(TargetFramework)' == 'net6.0-windows'">$(FrameworkVersion)</SystemTextJsonVersion>
12+
<SwashbuckleVersion Condition="'$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0' And '$(TargetFramework)' != 'net8.0'">5.*</SwashbuckleVersion>
13+
<SwashbuckleVersion Condition="'$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net7.0' Or '$(TargetFramework)' == 'net8.0'">6.*</SwashbuckleVersion>
1314
</PropertyGroup>
1415

1516
<ItemGroup>
@@ -97,12 +98,14 @@
9798
<PackageReference Update="System.Runtime.Loader" Version="4.3.0" />
9899
<PackageReference Update="System.Runtime.Extensions" Version="4.3.1" />
99100
<PackageReference Update="Yarp.ReverseProxy" Version="(1.*,2)" />
101+
<PackageReference Update="CommunityToolkit.HighPerformance" Version="8.*" />
100102

101103
<!--microsoft extensions-->
102104
<PackageReference Update="Microsoft.Extensions.ApiDescription.Server" Version="$(FrameworkVersion)" />
103105
<PackageReference Update="Microsoft.Extensions.Caching.Abstractions" Version="$(FrameworkVersion)" />
104106
<PackageReference Update="Microsoft.Extensions.Caching.Memory" Version="$(FrameworkVersion)" />
105107
<PackageReference Update="Microsoft.Extensions.Caching.StackExchangeRedis" Version="$(FrameworkVersion)" />
108+
<PackageReference Update="Microsoft.Extensions.Configuration" Version="$(FrameworkVersion)" />
106109
<PackageReference Update="Microsoft.Extensions.Configuration.Abstractions" Version="$(FrameworkVersion)" />
107110
<PackageReference Update="Microsoft.Extensions.Configuration.Binder" Version="$(FrameworkVersion)" />
108111
<PackageReference Update="Microsoft.Extensions.Configuration.CommandLine" Version="$(FrameworkVersion)" />
@@ -116,6 +119,7 @@
116119
<PackageReference Update="Microsoft.Extensions.DependencyModel" Version="$(FrameworkVersion)" />
117120
<PackageReference Update="Microsoft.Extensions.Hosting" Version="$(FrameworkVersion)" />
118121
<PackageReference Update="Microsoft.Extensions.Hosting.Abstractions" Version="$(FrameworkVersion)" />
122+
<PackageReference Update="Microsoft.Extensions.Hosting.Systemd" Version="$(FrameworkVersion)" />
119123
<PackageReference Update="Microsoft.Extensions.Hosting.WindowsServices" Version="$(FrameworkVersion)" />
120124
<PackageReference Update="Microsoft.Extensions.Logging" Version="$(FrameworkVersion)" />
121125
<PackageReference Update="Microsoft.Extensions.Logging.Abstractions" Version="$(FrameworkVersion)" />

NetLah.HttpOverrides.sln

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{22D58284-719D-4C99-8A72-EAA4AD6B6E16}"
77
ProjectSection(SolutionItems) = preProject
88
.editorconfig = .editorconfig
9+
DevNotes.md = DevNotes.md
910
Directory.Build.props = Directory.Build.props
1011
Directory.Build.targets = Directory.Build.targets
11-
.github\workflows\dotnet-core.yml = .github\workflows\dotnet-core.yml
1212
README.md = README.md
1313
EndProjectSection
1414
EndProject

samples/SampleWebApi/Program.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
builder.UseSerilog(logger => LogAppEvent(logger, "Application initializing...", appInfo));
1616
var logger = AppLog.Logger;
1717

18+
IAssemblyInfo assembly = new AssemblyInfo(typeof(HttpOverridesExtensions).Assembly);
19+
logger.LogInformation("Library:{title}; Version:{version} BuildTime:{buildTime}; Framework:{framework}",
20+
assembly.Title, assembly.InformationalVersion, assembly.BuildTimestampLocal, assembly.FrameworkName);
21+
1822
// Add services to the container.
1923

2024
builder.Services.AddControllers();

samples/SampleWebApi/SampleWebApi.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net7.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>net8.0;net7.0;net6.0</TargetFrameworks>
55
<UserSecretsId>netlah-http-overrides-ed3g</UserSecretsId>
66
<IsPackable>false</IsPackable>
77
</PropertyGroup>
5.3 KB
Binary file not shown.

samples/SampleWebPages/SampleWebPages.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net7.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>net8.0;net7.0;net6.0</TargetFrameworks>
55
<UserSecretsId>netlah-http-overrides-pages-ed3g</UserSecretsId>
66
<IsPackable>false</IsPackable>
77
</PropertyGroup>

src/Directory.Build.targets

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
<Project>
22

33
<PropertyGroup>
4-
<CurrentFrameworkVersion>6.0.12</CurrentFrameworkVersion>
5-
<FrameworkBaselineVersion Condition="'$(TargetFramework)' != 'net5.0' And '$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0' And '$(TargetFramework)' != 'net6.0-windows'">3.1.0</FrameworkBaselineVersion>
4+
<CurrentFrameworkVersion>6.0.15</CurrentFrameworkVersion>
5+
<FrameworkBaselineVersion Condition="'$(TargetFramework)' != 'net5.0' And '$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0' And '$(TargetFramework)' != 'net8.0' And '$(TargetFramework)' != 'net6.0-windows'">3.1.0</FrameworkBaselineVersion>
66
<FrameworkBaselineVersion Condition="'$(TargetFramework)' == 'net5.0'">5.0.0</FrameworkBaselineVersion>
77
<FrameworkBaselineVersion Condition="'$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net6.0-windows'">6.0.0</FrameworkBaselineVersion>
88
<FrameworkBaselineVersion Condition="'$(TargetFramework)' == 'net7.0'">7.0.0</FrameworkBaselineVersion>
9-
<SystemTextJsonVersion Condition="'$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0' And '$(TargetFramework)' != 'net6.0-windows'">5.0.0</SystemTextJsonVersion>
10-
<SystemTextJsonVersion Condition="'$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net7.0' Or '$(TargetFramework)' == 'net6.0-windows'">$(FrameworkBaselineVersion)</SystemTextJsonVersion>
11-
<SwashbuckleVersion Condition="'$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0'">5.0.0</SwashbuckleVersion>
12-
<SwashbuckleVersion Condition="'$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net7.0'">6.0.0</SwashbuckleVersion>
9+
<FrameworkBaselineVersion Condition="'$(TargetFramework)' == 'net8.0'">8.0.0-*</FrameworkBaselineVersion>
10+
<SystemTextJsonVersion Condition="'$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0' And '$(TargetFramework)' != 'net8.0' And '$(TargetFramework)' != 'net6.0-windows'">5.0.0</SystemTextJsonVersion>
11+
<SystemTextJsonVersion Condition="'$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net7.0' Or '$(TargetFramework)' == 'net8.0' Or '$(TargetFramework)' == 'net6.0-windows'">$(FrameworkBaselineVersion)</SystemTextJsonVersion>
12+
<SwashbuckleVersion Condition="'$(TargetFramework)' != 'net6.0' And '$(TargetFramework)' != 'net7.0' And '$(TargetFramework)' != 'net8.0'">5.0.0</SwashbuckleVersion>
13+
<SwashbuckleVersion Condition="'$(TargetFramework)' == 'net6.0' Or '$(TargetFramework)' == 'net7.0' Or '$(TargetFramework)' == 'net8.0'">6.0.0</SwashbuckleVersion>
1314
</PropertyGroup>
1415

1516
<ItemGroup>
@@ -23,12 +24,12 @@
2324
<PackageReference Include="NetLah.AssemblyInfo.BuildTime.Target" Version="[0.2.0,1)" PrivateAssets="All" />
2425
<PackageReference Update="NetLah.Extensions.CommandLineUtils" Version="0.1.0-a1.2" />
2526
<PackageReference Update="NetLah.Extensions.Configuration" Version="[0.2.2,1)" />
26-
<PackageReference Update="NetLah.Extensions.EventAggregator" Version="[0.2.0,1)" />
27-
<PackageReference Update="NetLah.Extensions.HttpOverrides" Version="[0.2.4,1)" />
27+
<PackageReference Update="NetLah.Extensions.EventAggregator" Version="[0.2.1,1)" />
28+
<PackageReference Update="NetLah.Extensions.HttpOverrides" Version="[0.2.6,1)" />
2829
<PackageReference Update="NetLah.Extensions.Logging.Reference" Version="[0.2.4,1)" />
2930
<PackageReference Update="NetLah.Extensions.Logging.Serilog" Version="[0.2.4,1)" />
3031
<PackageReference Update="NetLah.Extensions.Logging.Serilog.AspNetCore" Version="[0.2.4,1)" />
31-
<PackageReference Update="NetLah.Extensions.SpaServices.Hosting" Version="[0.1.0,1)" />
32+
<PackageReference Update="NetLah.Extensions.SpaServices.Hosting" Version="[0.2.0,1)" />
3233
<PackageReference Update="Testing.Dynamic.Json" Version="1.*-*" />
3334

3435
<!--tests-->
@@ -94,12 +95,14 @@
9495
<PackageReference Update="System.Runtime.Loader" Version="4.3.0" />
9596
<PackageReference Update="System.Runtime.Extensions" Version="4.3.1" />
9697
<PackageReference Update="Yarp.ReverseProxy" Version="(1.*,2)" />
98+
<PackageReference Update="CommunityToolkit.HighPerformance" Version="8.*" />
9799

98100
<!--microsoft extensions-->
99101
<PackageReference Update="Microsoft.Extensions.ApiDescription.Server" Version="$(FrameworkBaselineVersion)" />
100102
<PackageReference Update="Microsoft.Extensions.Caching.Abstractions" Version="$(FrameworkBaselineVersion)" />
101103
<PackageReference Update="Microsoft.Extensions.Caching.Memory" Version="$(FrameworkBaselineVersion)" />
102104
<PackageReference Update="Microsoft.Extensions.Caching.StackExchangeRedis" Version="$(FrameworkBaselineVersion)" />
105+
<PackageReference Update="Microsoft.Extensions.Configuration" Version="$(FrameworkBaselineVersion)" />
103106
<PackageReference Update="Microsoft.Extensions.Configuration.Abstractions" Version="$(FrameworkBaselineVersion)" />
104107
<PackageReference Update="Microsoft.Extensions.Configuration.Binder" Version="$(FrameworkBaselineVersion)" />
105108
<PackageReference Update="Microsoft.Extensions.Configuration.CommandLine" Version="$(FrameworkBaselineVersion)" />
@@ -113,6 +116,7 @@
113116
<PackageReference Update="Microsoft.Extensions.DependencyModel" Version="$(FrameworkBaselineVersion)" />
114117
<PackageReference Update="Microsoft.Extensions.Hosting" Version="$(FrameworkBaselineVersion)" />
115118
<PackageReference Update="Microsoft.Extensions.Hosting.Abstractions" Version="$(FrameworkBaselineVersion)" />
119+
<PackageReference Update="Microsoft.Extensions.Hosting.Systemd" Version="$(FrameworkBaselineVersion)" />
116120
<PackageReference Update="Microsoft.Extensions.Hosting.WindowsServices" Version="$(FrameworkBaselineVersion)" />
117121
<PackageReference Update="Microsoft.Extensions.Logging" Version="$(FrameworkBaselineVersion)" />
118122
<PackageReference Update="Microsoft.Extensions.Logging.Abstractions" Version="$(FrameworkBaselineVersion)" />

src/NetLah.Extensions.HttpOverrides/NetLah.Extensions.HttpOverrides.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<PropertyGroup>
44
<PackageId>NetLah.Extensions.HttpOverrides</PackageId>
55
<PackageTags>httpoverrides;http-overrides;configurable;aspnetcore;dotnet;netcore</PackageTags>
6-
<TargetFrameworks>net7.0;net6.0</TargetFrameworks>
6+
<TargetFrameworks>net8.0;net7.0;net6.0</TargetFrameworks>
77
<Description>Library support setting ASP.NET Core HttpOverrides from configuration</Description>
88
<SignAssembly>true</SignAssembly>
99
<AssemblyOriginatorKeyFile>../../NetLah.snk</AssemblyOriginatorKeyFile>

test/NetLah.Extensions.HttpOverrides.Test/NetLah.Extensions.HttpOverrides.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net7.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>net8.0;net7.0;net6.0</TargetFrameworks>
55
<IsPackable>false</IsPackable>
66
<SignAssembly>true</SignAssembly>
77
<AssemblyOriginatorKeyFile>../../NetLah.snk</AssemblyOriginatorKeyFile>

0 commit comments

Comments
 (0)