Skip to content
This repository was archived by the owner on Mar 31, 2026. It is now read-only.

Commit 8daa670

Browse files
committed
Move to .NET 7 with isolated runtime
1 parent 3ed6c25 commit 8daa670

31 files changed

Lines changed: 271 additions & 256 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,3 +318,4 @@ __queuestorage__
318318
src/Worker/Properties/serviceDependencies.json
319319
src/Worker/Properties/**/* - Zip Deploy.json
320320
src/Worker/Properties/**/*.arm.json
321+
*.binlog

Directory.Build.props

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
<OutputPath>$(BaseOutputPath)$(Configuration)\</OutputPath>
1414
</PropertyGroup>
1515
<PropertyGroup>
16-
<LangVersion>10.0</LangVersion>
16+
<LangVersion>11.0</LangVersion>
17+
<TargetFramework>net7.0</TargetFramework>
1718
<StartDevelopmentStorage>False</StartDevelopmentStorage>
1819
</PropertyGroup>
1920
<PropertyGroup>

Directory.Packages.props

Lines changed: 42 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,55 +4,64 @@
44
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
55
</PropertyGroup>
66
<ItemGroup>
7-
<PackageVersion Include="AngleSharp" Version="1.0.1" />
8-
<PackageVersion Include="Azure.Data.Tables" Version="12.8.0" />
9-
<PackageVersion Include="Azure.Identity" Version="1.8.2" />
10-
<PackageVersion Include="Azure.Storage.Blobs" Version="12.15.1" />
11-
<PackageVersion Include="Azure.Storage.Queues" Version="12.13.1" />
7+
<PackageVersion Include="AngleSharp" Version="1.0.4" />
8+
<PackageVersion Include="Azure.Data.Tables" Version="12.8.1" />
9+
<PackageVersion Include="Azure.Identity" Version="1.10.1" />
10+
<PackageVersion Include="Azure.Storage.Blobs" Version="12.18.0" />
11+
<PackageVersion Include="Azure.Storage.Queues" Version="12.16.0" />
1212
<PackageVersion Include="Ben.StringIntern" Version="0.1.8" />
13-
<PackageVersion Include="CommunityToolkit.HighPerformance" Version="8.1.0" />
13+
<PackageVersion Include="CommunityToolkit.HighPerformance" Version="8.2.1" />
1414
<PackageVersion Include="DiffPlex" Version="1.7.1" />
1515
<PackageVersion Include="Humanizer.Core" Version="2.14.1" />
1616
<PackageVersion Include="Knapcode.MiniZip" Version="0.20.0" />
17-
<PackageVersion Include="Magick.NET-Q16-AnyCPU" Version="13.0.1" />
18-
<PackageVersion Include="Markdig.Signed" Version="0.31.0" />
19-
<PackageVersion Include="McMaster.Extensions.CommandLineUtils" Version="4.0.2" />
20-
<PackageVersion Include="MessagePack" Version="2.5.108" />
21-
<PackageVersion Include="MessagePackAnalyzer" Version="2.5.108" />
17+
<PackageVersion Include="Magick.NET-Q16-AnyCPU" Version="13.2.0" />
18+
<PackageVersion Include="Markdig.Signed" Version="0.33.0" />
19+
<PackageVersion Include="McMaster.Extensions.CommandLineUtils" Version="4.1.0" />
20+
<PackageVersion Include="MessagePack" Version="2.5.124" />
21+
<PackageVersion Include="MessagePackAnalyzer" Version="2.5.124" />
2222
<PackageVersion Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.21.0" />
23+
<PackageVersion Include="Microsoft.ApplicationInsights.WorkerService" Version="2.21.0" />
2324
<PackageVersion Include="Microsoft.ApplicationInsights" Version="2.21.0" />
24-
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="6.0.15" />
25+
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="7.0.11" />
2526
<PackageVersion Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
2627
<PackageVersion Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" />
27-
<PackageVersion Include="Microsoft.Azure.Kusto.Ingest" Version="11.2.2" />
28-
<PackageVersion Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="5.0.1" />
28+
<PackageVersion Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="1.0.0" />
29+
<PackageVersion Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.1.0" />
30+
<PackageVersion Include="Microsoft.Azure.Functions.Worker.Extensions.Storage" Version="6.2.0" />
31+
<PackageVersion Include="Microsoft.Azure.Functions.Worker.Extensions.Timer" Version="4.2.0" />
32+
<PackageVersion Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.14.1" />
33+
<PackageVersion Include="Microsoft.Azure.Functions.Worker" Version="1.19.0" />
34+
<PackageVersion Include="Microsoft.Azure.Kusto.Ingest" Version="11.3.3" />
35+
<PackageVersion Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="5.2.0" />
2936
<PackageVersion Include="Microsoft.Azure.WebJobs.Logging.ApplicationInsights" Version="3.0.35" />
30-
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="6.0.0" />
37+
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="7.0.0" />
3138
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.3" />
3239
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.0.1" />
33-
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="6.0.1" />
34-
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" />
35-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="6.0.1" />
36-
<PackageVersion Include="Microsoft.Extensions.Http" Version="6.0.0" />
37-
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" />
38-
<PackageVersion Include="Microsoft.Extensions.ObjectPool" Version="6.0.15" />
39-
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" />
40-
<PackageVersion Include="Microsoft.Identity.Web.MicrosoftGraph" Version="2.7.0" />
41-
<PackageVersion Include="Microsoft.Identity.Web.UI" Version="2.7.0" />
42-
<PackageVersion Include="Microsoft.IdentityModel.Tokens" Version="6.27.0" />
43-
<PackageVersion Include="Microsoft.NET.Sdk.Functions" Version="4.1.3" />
44-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
40+
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0" />
41+
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
42+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
43+
<PackageVersion Include="Microsoft.Extensions.Http" Version="7.0.0" />
44+
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
45+
<PackageVersion Include="Microsoft.Extensions.ObjectPool" Version="7.0.11" />
46+
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0" />
47+
<PackageVersion Include="Microsoft.Identity.Web.MicrosoftGraph" Version="2.13.4" />
48+
<PackageVersion Include="Microsoft.Identity.Web.UI" Version="2.13.4" />
49+
<PackageVersion Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="7.0.0" />
50+
<PackageVersion Include="Microsoft.IdentityModel.Tokens" Version="7.0.0" />
51+
<PackageVersion Include="Microsoft.NET.Sdk.Functions" Version="4.2.0" />
52+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.7.2" />
4553
<PackageVersion Include="Moq" Version="4.18.4" />
4654
<PackageVersion Include="Nito.AsyncEx" Version="5.1.2" />
47-
<PackageVersion Include="NuGet.Commands" Version="6.5.1" />
55+
<PackageVersion Include="NuGet.Commands" Version="6.7.0" />
4856
<PackageVersion Include="NuGetPackageExplorer.Core" Version="6.0.70" />
49-
<PackageVersion Include="Sylvan.Data.Csv" Version="1.2.7" />
57+
<PackageVersion Include="Sylvan.Data.Csv" Version="1.3.3" />
58+
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="7.0.0" />
5059
<PackageVersion Include="System.Interactive.Async" Version="6.0.1" />
5160
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
52-
<PackageVersion Include="System.Text.Encodings.Web" Version="6.0.0" />
53-
<PackageVersion Include="System.Text.Json" Version="6.0.7" />
61+
<PackageVersion Include="System.Text.Encodings.Web" Version="7.0.0" />
62+
<PackageVersion Include="System.Text.Json" Version="7.0.3" />
5463
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
55-
<PackageVersion Include="xunit" Version="2.4.2" />
56-
<PackageVersion Include="xunit.runner.visualstudio" Version="2.4.5" />
64+
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.0" />
65+
<PackageVersion Include="xunit" Version="2.5.0" />
5766
</ItemGroup>
5867
</Project>

NuGet.config

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,33 +17,35 @@
1717
<package pattern="Castle.Core" />
1818
<package pattern="CommunityToolkit.HighPerformance" />
1919
<package pattern="DiffPlex" />
20+
<package pattern="Google.*" />
21+
<package pattern="Grpc.*" />
2022
<package pattern="Humanizer.Core" />
2123
<package pattern="Knapcode.Delta.Common" />
2224
<package pattern="Knapcode.MiniZip" />
2325
<package pattern="Knapcode.TableDelta" />
24-
<package pattern="Magick.NET.Core" />
2526
<package pattern="Magick.NET-Q16-AnyCPU" />
27+
<package pattern="Magick.NET.Core" />
2628
<package pattern="Markdig.Signed" />
2729
<package pattern="McMaster.Extensions.CommandLineUtils" />
28-
<package pattern="MessagePack" />
2930
<package pattern="MessagePack.Annotations" />
31+
<package pattern="MessagePack" />
3032
<package pattern="MessagePackAnalyzer" />
3133
<package pattern="Microsoft.*" />
3234
<package pattern="Moq" />
3335
<package pattern="NCrontab.Signed" />
3436
<package pattern="NETStandard.Library" />
35-
<package pattern="Newtonsoft.Json" />
3637
<package pattern="Newtonsoft.Json.Bson" />
38+
<package pattern="Newtonsoft.Json" />
3739
<package pattern="Nito.*" />
3840
<package pattern="NuGet.*" />
39-
<package pattern="PeNet" />
4041
<package pattern="PeNet.Asn1" />
42+
<package pattern="PeNet" />
4143
<package pattern="runtime.*" />
4244
<package pattern="Sylvan.Data.Csv" />
4345
<package pattern="System.*" />
4446
<package pattern="WindowsAzure.Storage" />
45-
<package pattern="xunit" />
4647
<package pattern="xunit.*" />
48+
<package pattern="xunit" />
4749
</packageSource>
4850
<packageSource key="dotnet-tools">
4951
<package pattern="Microsoft.DiaSymReader.Converter" />

deploy/bicep/function-worker.bicep

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,11 @@ resource worker 'Microsoft.Web/sites@2022-09-01' = {
157157
}
158158
{
159159
name: 'FUNCTIONS_WORKER_RUNTIME'
160-
value: 'dotnet'
160+
value: 'dotnet-isolated'
161+
}
162+
{
163+
name: 'WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED'
164+
value: '1'
161165
}
162166
{
163167
name: 'SCM_DO_BUILD_DURING_DEPLOYMENT'
@@ -191,9 +195,9 @@ resource worker 'Microsoft.Web/sites@2022-09-01' = {
191195
}
192196
] : [], workerConfigWithStorage)
193197
}, isLinux ? {
194-
linuxFxVersion: 'DOTNET|6.0'
198+
linuxFxVersion: 'DOTNET-ISOLATED|7.0'
195199
} : {
196-
netFrameworkVersion: 'v6.0'
200+
netFrameworkVersion: 'v7.0'
197201
})
198202
}
199203

deploy/bicep/website.bicep

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ resource website 'Microsoft.Web/sites@2022-09-01' = {
8282
}
8383
] : [], config)
8484
}, isLinux ? {
85-
linuxFxVersion: 'DOTNETCORE|6.0'
85+
linuxFxVersion: 'DOTNETCORE|7.0'
8686
} : {
87-
netFrameworkVersion: 'v6.0'
87+
netFrameworkVersion: 'v7.0'
8888
})
8989
}
9090

deploy/build-host.ps1

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ Write-Host "Resetting repository level settings"
7878

7979
Write-Host "Publishing host"
8080
dotnet restore $hostProjectPath --verbosity Normal
81+
82+
# NoWarn on SA1518 due to inconsistent line endings.
83+
# See: https://github.com/Azure/azure-functions-host/pull/9564
8184
dotnet publish $hostProjectPath -c Release --output $hostBinDir --runtime $RuntimeIdentifier --self-contained false /p:NoWarn=SA1518
8285

8386
# Delete all out-of-process (non-.NET) workers to make the package smaller.

deploy/scripts/NuGet.Insights.psm1

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,16 @@ class ResourceSettings {
268268
}
269269
}
270270
}
271+
272+
# Since Azure Functions isolated SDK does not support an INameResolver, we have to explicitly have the queue
273+
# names used by Azure Functions triggers.
274+
# Blocker: https://github.com/Azure/azure-functions-dotnet-worker/issues/393
275+
if ($null -eq $this.WorkerConfig["NuGetInsights"].WorkQueueName) {
276+
$this.WorkerConfig["NuGetInsights"].WorkQueueName = "work"
277+
}
278+
if ($null -eq $this.WorkerConfig["NuGetInsights"].ExpandQueueName) {
279+
$this.WorkerConfig["NuGetInsights"].ExpandQueueName = "expand"
280+
}
271281

272282
if ($isConsumptionPlan) {
273283
# Since Consumption plan requires WEBSITE_CONTENTAZUREFILECONNECTIONSTRING and this does not support SAS-based

global.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"sdk": {
3-
"version": "6.0.300",
3+
"version": "7.0.401",
44
"rollForward": "latestFeature"
55
}
6-
}
6+
}

src/Forks/Forks.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net6.0</TargetFramework>
43
<AssemblyName>NuGet.Insights.Forks</AssemblyName>
54
<RootNamespace>NuGet.Insights</RootNamespace>
65
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>

0 commit comments

Comments
 (0)