diff --git a/.editorconfig b/.editorconfig
index 49de0d370..66212dc13 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -5,11 +5,11 @@
# All files
[*]
indent_style = space
+charset = utf-8
# Code files
[*.{cs,csx,vb,vbx}]
indent_size = 4
insert_final_newline = true
-charset = utf-8-bom
###############################
# .NET Coding Conventions #
###############################
diff --git a/.github/ISSUE_TEMPLATE/02b-net9-question-or-issue.yml b/.github/ISSUE_TEMPLATE/02b-net10-question-or-issue.yml
similarity index 60%
rename from .github/ISSUE_TEMPLATE/02b-net9-question-or-issue.yml
rename to .github/ISSUE_TEMPLATE/02b-net10-question-or-issue.yml
index 139a111be..a2b7b595b 100644
--- a/.github/ISSUE_TEMPLATE/02b-net9-question-or-issue.yml
+++ b/.github/ISSUE_TEMPLATE/02b-net10-question-or-issue.yml
@@ -1,11 +1,11 @@
-name: .NET 9 issue or question
-description: Ask questions or raise issues related to .NET 9
-labels: [".NET 9"]
+name: .NET 10 issue or question
+description: Ask questions or raise issues related to .NET 10
+labels: [".NET 10"]
body:
- type: markdown
attributes:
value: |
- Please use this template for any issues you have using .NET 9 or for any questions not answered in our [tracking thread for .NET 9 GA support](https://github.com/Azure/azure-functions-dotnet-worker/issues/2817).
+ Please use this template for any issues you have using .NET 10 or for any questions not answered in our [tracking thread for .NET 10 support](https://github.com/Azure/azure-functions-dotnet-worker/issues/3152).
- id: description
type: textarea
attributes:
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 000000000..a1ef8b6a8
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,12 @@
+version: 2
+updates:
+ - package-ecosystem: "dotnet-sdk"
+ directory: "/"
+ schedule:
+ interval: "weekly"
+ day: "wednesday"
+ ignore:
+ - dependency-name: "*"
+ update-types:
+ - "version-update:semver-major"
+ - "version-update:semver-minor"
diff --git a/.reporoot b/.reporoot
new file mode 100644
index 000000000..96003cbd2
--- /dev/null
+++ b/.reporoot
@@ -0,0 +1 @@
+File to mark repo root. Do not edit.
\ No newline at end of file
diff --git a/Directory.Build.props b/Directory.Build.props
index 34cd20ef5..7da35374a 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,10 +1,5 @@
-
-
- true
-
-
$(MSBuildThisFileDirectory)
$(RepoRoot)eng/
diff --git a/DotNetWorker.Extensions.sln b/DotNetWorker.Extensions.sln
new file mode 100644
index 000000000..940dc4111
--- /dev/null
+++ b/DotNetWorker.Extensions.sln
@@ -0,0 +1,252 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.1.32228.430
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{FD7243E4-BF18-43F8-8744-BA1D17ACF378}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{1B6B4B62-686E-44B4-9CEC-710DA34BC09E}"
+ ProjectSection(SolutionItems) = preProject
+ build\Common.props = build\Common.props
+ build\Extensions.props = build\Extensions.props
+ build\icon.png = build\icon.png
+ build\Icon.props = build\Icon.props
+ build\PackageInfo.props = build\PackageInfo.props
+ build\SharedReferences.targets = build\SharedReferences.targets
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{42CB3DE7-B070-4BA1-8A7A-ACB237BEAA4E}"
+ ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
+ EndProjectSection
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtility", "test\TestUtility\TestUtility.csproj", "{C30B77A7-4085-422E-AADE-A4322989F5F8}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "extensions", "extensions", "{A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Http", "extensions\Worker.Extensions.Http\src\Worker.Extensions.Http.csproj", "{1E601406-6923-4CB9-AAD7-928E08906B10}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Abstractions", "extensions\Worker.Extensions.Abstractions\src\Worker.Extensions.Abstractions.csproj", "{B5F66802-0968-4B99-8E97-E42C744CE5CE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Storage", "extensions\Worker.Extensions.Storage\src\Worker.Extensions.Storage.csproj", "{D6EAB0C1-491C-4723-B1F3-B6F5461CD359}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Timer", "extensions\Worker.Extensions.Timer\src\Worker.Extensions.Timer.csproj", "{4DBEC557-E5CC-41E9-9319-BC02615CF228}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.CosmosDB", "extensions\Worker.Extensions.CosmosDB\src\Worker.Extensions.CosmosDB.csproj", "{37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.EventGrid", "extensions\Worker.Extensions.EventGrid\src\Worker.Extensions.EventGrid.csproj", "{9C305047-0B81-4DA1-98D4-BC8B391A2297}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.ServiceBus", "extensions\Worker.Extensions.ServiceBus\src\Worker.Extensions.ServiceBus.csproj", "{660B4D9D-081A-4DCA-BD7A-E196F4529BFD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.EventHubs", "extensions\Worker.Extensions.EventHubs\src\Worker.Extensions.EventHubs.csproj", "{4A5770BE-6BB7-448F-A818-DD1450F8CBDC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.RabbitMQ", "extensions\Worker.Extensions.RabbitMQ\src\Worker.Extensions.RabbitMQ.csproj", "{55652CF7-E58B-4564-A76B-D49DC71878DC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.SignalRService", "extensions\Worker.Extensions.SignalRService\src\Worker.Extensions.SignalRService.csproj", "{A9802FBA-CF59-462B-88A0-1D7D0D19C748}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.SendGrid", "extensions\Worker.Extensions.SendGrid\src\Worker.Extensions.SendGrid.csproj", "{59EB5B01-4756-48BB-8B37-70D29E3BDFB6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Warmup", "extensions\Worker.Extensions.Warmup\src\Worker.Extensions.Warmup.csproj", "{BDA0BCB4-BD26-4B10-B865-87082F290B38}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Kafka", "extensions\Worker.Extensions.Kafka\src\Worker.Extensions.Kafka.csproj", "{F63A63A9-FE09-4225-A293-6A58F9C1E520}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Worker", "Worker", "{0F6B5528-642F-4C46-AB4E-15E9B6CE24F9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Apps", "Apps", "{0EA6A975-2934-4837-9932-2328EFE23BFD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "E2EApp", "test\E2ETests\E2EApps\E2EApp\E2EApp.csproj", "{34CB5A87-0433-4C19-9CB3-E2F58119CDE9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "E2ETests", "test\E2ETests\E2ETests\E2ETests.csproj", "{059C8F76-20F9-42BD-A343-64EE3ACF1AF8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Storage.Queues", "extensions\Worker.Extensions.Storage.Queues\src\Worker.Extensions.Storage.Queues.csproj", "{1D2A2B02-BFA8-4E53-9844-88359C5B2671}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Storage.Blobs", "extensions\Worker.Extensions.Storage.Blobs\src\Worker.Extensions.Storage.Blobs.csproj", "{FC352905-BD72-4049-8D32-3CBB9304FDC8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Tables", "extensions\Worker.Extensions.Tables\src\Worker.Extensions.Tables.csproj", "{004DEF24-7EBB-499D-BD1C-E940AC4E122D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Shared", "extensions\Worker.Extensions.Shared\Worker.Extensions.Shared.csproj", "{277D77B9-8915-41E3-8763-0B66328ADDDA}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Rpc", "extensions\Worker.Extensions.Rpc\src\Worker.Extensions.Rpc.csproj", "{93B64F12-EBDD-46CE-B4FB-0904701F0032}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions", "Extensions", "{AA4D318D-101B-49E7-A4EC-B34165AEDB33}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Rpc.Tests", "test\Worker.Extensions.Rpc.Tests\Worker.Extensions.Rpc.Tests.csproj", "{B13C9E5F-0E4B-413E-90AE-20B84B100364}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Http.AspNetCore", "extensions\Worker.Extensions.Http.AspNetCore\src\Worker.Extensions.Http.AspNetCore.csproj", "{1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.SignalRService.Tests", "test\Worker.Extensions.SignalRService.Tests\Worker.Extensions.SignalRService.Tests.csproj", "{286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Tests", "test\Worker.Extensions.Tests\Worker.Extensions.Tests.csproj", "{17BDCE12-6964-4B87-B2AC-68CE270A3E9A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Http.AspNetCore.Tests", "test\extensions\Worker.Extensions.Http.AspNetCore.Tests\Worker.Extensions.Http.AspNetCore.Tests.csproj", "{D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Shared.Tests", "test\Worker.Extensions.Shared.Tests\Worker.Extensions.Shared.Tests.csproj", "{B6342174-5436-4846-B43C-39D8E34AE5CF}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Timer.Tests", "test\extensions\Worker.Extensions.Timer.Tests\Worker.Extensions.Timer.Tests.csproj", "{6947034E-C97F-4F78-940F-B6A398E23C9C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Worker.Extensions.Http.AspNetCore.Analyzers", "extensions\Worker.Extensions.Http.AspNetCore.Analyzers\src\Worker.Extensions.Http.AspNetCore.Analyzers.csproj", "{914B3E60-DE19-4827-956F-22080C817820}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C30B77A7-4085-422E-AADE-A4322989F5F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C30B77A7-4085-422E-AADE-A4322989F5F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C30B77A7-4085-422E-AADE-A4322989F5F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C30B77A7-4085-422E-AADE-A4322989F5F8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1E601406-6923-4CB9-AAD7-928E08906B10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1E601406-6923-4CB9-AAD7-928E08906B10}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1E601406-6923-4CB9-AAD7-928E08906B10}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1E601406-6923-4CB9-AAD7-928E08906B10}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B5F66802-0968-4B99-8E97-E42C744CE5CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B5F66802-0968-4B99-8E97-E42C744CE5CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B5F66802-0968-4B99-8E97-E42C744CE5CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B5F66802-0968-4B99-8E97-E42C744CE5CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D6EAB0C1-491C-4723-B1F3-B6F5461CD359}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D6EAB0C1-491C-4723-B1F3-B6F5461CD359}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D6EAB0C1-491C-4723-B1F3-B6F5461CD359}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D6EAB0C1-491C-4723-B1F3-B6F5461CD359}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4DBEC557-E5CC-41E9-9319-BC02615CF228}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4DBEC557-E5CC-41E9-9319-BC02615CF228}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4DBEC557-E5CC-41E9-9319-BC02615CF228}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4DBEC557-E5CC-41E9-9319-BC02615CF228}.Release|Any CPU.Build.0 = Release|Any CPU
+ {37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9C305047-0B81-4DA1-98D4-BC8B391A2297}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9C305047-0B81-4DA1-98D4-BC8B391A2297}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9C305047-0B81-4DA1-98D4-BC8B391A2297}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9C305047-0B81-4DA1-98D4-BC8B391A2297}.Release|Any CPU.Build.0 = Release|Any CPU
+ {660B4D9D-081A-4DCA-BD7A-E196F4529BFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {660B4D9D-081A-4DCA-BD7A-E196F4529BFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {660B4D9D-081A-4DCA-BD7A-E196F4529BFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {660B4D9D-081A-4DCA-BD7A-E196F4529BFD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4A5770BE-6BB7-448F-A818-DD1450F8CBDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4A5770BE-6BB7-448F-A818-DD1450F8CBDC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4A5770BE-6BB7-448F-A818-DD1450F8CBDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4A5770BE-6BB7-448F-A818-DD1450F8CBDC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {55652CF7-E58B-4564-A76B-D49DC71878DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {55652CF7-E58B-4564-A76B-D49DC71878DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {55652CF7-E58B-4564-A76B-D49DC71878DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {55652CF7-E58B-4564-A76B-D49DC71878DC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A9802FBA-CF59-462B-88A0-1D7D0D19C748}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A9802FBA-CF59-462B-88A0-1D7D0D19C748}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A9802FBA-CF59-462B-88A0-1D7D0D19C748}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A9802FBA-CF59-462B-88A0-1D7D0D19C748}.Release|Any CPU.Build.0 = Release|Any CPU
+ {59EB5B01-4756-48BB-8B37-70D29E3BDFB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {59EB5B01-4756-48BB-8B37-70D29E3BDFB6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {59EB5B01-4756-48BB-8B37-70D29E3BDFB6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {59EB5B01-4756-48BB-8B37-70D29E3BDFB6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BDA0BCB4-BD26-4B10-B865-87082F290B38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BDA0BCB4-BD26-4B10-B865-87082F290B38}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BDA0BCB4-BD26-4B10-B865-87082F290B38}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BDA0BCB4-BD26-4B10-B865-87082F290B38}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F63A63A9-FE09-4225-A293-6A58F9C1E520}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F63A63A9-FE09-4225-A293-6A58F9C1E520}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F63A63A9-FE09-4225-A293-6A58F9C1E520}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F63A63A9-FE09-4225-A293-6A58F9C1E520}.Release|Any CPU.Build.0 = Release|Any CPU
+ {34CB5A87-0433-4C19-9CB3-E2F58119CDE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {34CB5A87-0433-4C19-9CB3-E2F58119CDE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {34CB5A87-0433-4C19-9CB3-E2F58119CDE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {34CB5A87-0433-4C19-9CB3-E2F58119CDE9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {059C8F76-20F9-42BD-A343-64EE3ACF1AF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {059C8F76-20F9-42BD-A343-64EE3ACF1AF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {059C8F76-20F9-42BD-A343-64EE3ACF1AF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {059C8F76-20F9-42BD-A343-64EE3ACF1AF8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1D2A2B02-BFA8-4E53-9844-88359C5B2671}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1D2A2B02-BFA8-4E53-9844-88359C5B2671}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1D2A2B02-BFA8-4E53-9844-88359C5B2671}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1D2A2B02-BFA8-4E53-9844-88359C5B2671}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FC352905-BD72-4049-8D32-3CBB9304FDC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FC352905-BD72-4049-8D32-3CBB9304FDC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FC352905-BD72-4049-8D32-3CBB9304FDC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FC352905-BD72-4049-8D32-3CBB9304FDC8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {004DEF24-7EBB-499D-BD1C-E940AC4E122D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {004DEF24-7EBB-499D-BD1C-E940AC4E122D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {004DEF24-7EBB-499D-BD1C-E940AC4E122D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {004DEF24-7EBB-499D-BD1C-E940AC4E122D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {277D77B9-8915-41E3-8763-0B66328ADDDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {277D77B9-8915-41E3-8763-0B66328ADDDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {277D77B9-8915-41E3-8763-0B66328ADDDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {277D77B9-8915-41E3-8763-0B66328ADDDA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {93B64F12-EBDD-46CE-B4FB-0904701F0032}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {93B64F12-EBDD-46CE-B4FB-0904701F0032}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {93B64F12-EBDD-46CE-B4FB-0904701F0032}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {93B64F12-EBDD-46CE-B4FB-0904701F0032}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B13C9E5F-0E4B-413E-90AE-20B84B100364}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B13C9E5F-0E4B-413E-90AE-20B84B100364}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B13C9E5F-0E4B-413E-90AE-20B84B100364}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B13C9E5F-0E4B-413E-90AE-20B84B100364}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {17BDCE12-6964-4B87-B2AC-68CE270A3E9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {17BDCE12-6964-4B87-B2AC-68CE270A3E9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {17BDCE12-6964-4B87-B2AC-68CE270A3E9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {17BDCE12-6964-4B87-B2AC-68CE270A3E9A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B6342174-5436-4846-B43C-39D8E34AE5CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B6342174-5436-4846-B43C-39D8E34AE5CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B6342174-5436-4846-B43C-39D8E34AE5CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B6342174-5436-4846-B43C-39D8E34AE5CF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6947034E-C97F-4F78-940F-B6A398E23C9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6947034E-C97F-4F78-940F-B6A398E23C9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6947034E-C97F-4F78-940F-B6A398E23C9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6947034E-C97F-4F78-940F-B6A398E23C9C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {914B3E60-DE19-4827-956F-22080C817820}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {914B3E60-DE19-4827-956F-22080C817820}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {914B3E60-DE19-4827-956F-22080C817820}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {914B3E60-DE19-4827-956F-22080C817820}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {C30B77A7-4085-422E-AADE-A4322989F5F8} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
+ {1E601406-6923-4CB9-AAD7-928E08906B10} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {B5F66802-0968-4B99-8E97-E42C744CE5CE} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {D6EAB0C1-491C-4723-B1F3-B6F5461CD359} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {4DBEC557-E5CC-41E9-9319-BC02615CF228} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {9C305047-0B81-4DA1-98D4-BC8B391A2297} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {660B4D9D-081A-4DCA-BD7A-E196F4529BFD} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {4A5770BE-6BB7-448F-A818-DD1450F8CBDC} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {55652CF7-E58B-4564-A76B-D49DC71878DC} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {A9802FBA-CF59-462B-88A0-1D7D0D19C748} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {59EB5B01-4756-48BB-8B37-70D29E3BDFB6} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {BDA0BCB4-BD26-4B10-B865-87082F290B38} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {F63A63A9-FE09-4225-A293-6A58F9C1E520} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {0F6B5528-642F-4C46-AB4E-15E9B6CE24F9} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
+ {0EA6A975-2934-4837-9932-2328EFE23BFD} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
+ {34CB5A87-0433-4C19-9CB3-E2F58119CDE9} = {0EA6A975-2934-4837-9932-2328EFE23BFD}
+ {059C8F76-20F9-42BD-A343-64EE3ACF1AF8} = {0F6B5528-642F-4C46-AB4E-15E9B6CE24F9}
+ {1D2A2B02-BFA8-4E53-9844-88359C5B2671} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {FC352905-BD72-4049-8D32-3CBB9304FDC8} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {004DEF24-7EBB-499D-BD1C-E940AC4E122D} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {277D77B9-8915-41E3-8763-0B66328ADDDA} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {93B64F12-EBDD-46CE-B4FB-0904701F0032} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {AA4D318D-101B-49E7-A4EC-B34165AEDB33} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
+ {B13C9E5F-0E4B-413E-90AE-20B84B100364} = {AA4D318D-101B-49E7-A4EC-B34165AEDB33}
+ {1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
+ {17BDCE12-6964-4B87-B2AC-68CE270A3E9A} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
+ {D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4} = {AA4D318D-101B-49E7-A4EC-B34165AEDB33}
+ {B6342174-5436-4846-B43C-39D8E34AE5CF} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
+ {6947034E-C97F-4F78-940F-B6A398E23C9C} = {AA4D318D-101B-49E7-A4EC-B34165AEDB33}
+ {914B3E60-DE19-4827-956F-22080C817820} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {497D2ED4-A13E-4BCA-8D29-F30CA7D0EA4A}
+ EndGlobalSection
+EndGlobal
diff --git a/DotNetWorker.Samples.sln b/DotNetWorker.Samples.sln
new file mode 100644
index 000000000..0ad9f6d84
--- /dev/null
+++ b/DotNetWorker.Samples.sln
@@ -0,0 +1,84 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.1.32228.430
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FunctionApp", "samples\FunctionApp\FunctionApp.csproj", "{E61EE414-3693-4C83-BDAA-17AB0024D0E6}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{42CB3DE7-B070-4BA1-8A7A-ACB237BEAA4E}"
+ ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
+ EndProjectSection
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Extensions", "samples\Extensions\Extensions.csproj", "{BC56E506-A2F7-46D4-95DC-BD97E5AF92D4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CustomMiddleware", "samples\CustomMiddleware\CustomMiddleware.csproj", "{2A72383A-9C00-41FB-9D29-909EE5E6BFB9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EntityFramework", "samples\EntityFramework\EntityFramework.csproj", "{C4C0CE7E-6A34-473E-A8FB-7D8FBA765779}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Configuration", "samples\Configuration\Configuration.csproj", "{035AAD56-5F51-476C-8556-0F6CFD6EF1BF}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetFxWorker", "samples\NetFxWorker\NetFxWorker.csproj", "{B37E6BAC-F16B-4366-94FB-8B94B52A08C9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetIntegration", "samples\AspNetIntegration\AspNetIntegration.csproj", "{D2F67410-9933-42E8-B04A-E17634D83A30}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Net9FunctionApp", "samples\Net9FunctionApp\Net9FunctionApp.csproj", "{F7F70331-CB38-47D7-9366-F8C5D934D088}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E61EE414-3693-4C83-BDAA-17AB0024D0E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E61EE414-3693-4C83-BDAA-17AB0024D0E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E61EE414-3693-4C83-BDAA-17AB0024D0E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E61EE414-3693-4C83-BDAA-17AB0024D0E6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BC56E506-A2F7-46D4-95DC-BD97E5AF92D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BC56E506-A2F7-46D4-95DC-BD97E5AF92D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BC56E506-A2F7-46D4-95DC-BD97E5AF92D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BC56E506-A2F7-46D4-95DC-BD97E5AF92D4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2A72383A-9C00-41FB-9D29-909EE5E6BFB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2A72383A-9C00-41FB-9D29-909EE5E6BFB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2A72383A-9C00-41FB-9D29-909EE5E6BFB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2A72383A-9C00-41FB-9D29-909EE5E6BFB9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C4C0CE7E-6A34-473E-A8FB-7D8FBA765779}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C4C0CE7E-6A34-473E-A8FB-7D8FBA765779}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C4C0CE7E-6A34-473E-A8FB-7D8FBA765779}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C4C0CE7E-6A34-473E-A8FB-7D8FBA765779}.Release|Any CPU.Build.0 = Release|Any CPU
+ {035AAD56-5F51-476C-8556-0F6CFD6EF1BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {035AAD56-5F51-476C-8556-0F6CFD6EF1BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {035AAD56-5F51-476C-8556-0F6CFD6EF1BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {035AAD56-5F51-476C-8556-0F6CFD6EF1BF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B37E6BAC-F16B-4366-94FB-8B94B52A08C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B37E6BAC-F16B-4366-94FB-8B94B52A08C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B37E6BAC-F16B-4366-94FB-8B94B52A08C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B37E6BAC-F16B-4366-94FB-8B94B52A08C9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D2F67410-9933-42E8-B04A-E17634D83A30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D2F67410-9933-42E8-B04A-E17634D83A30}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D2F67410-9933-42E8-B04A-E17634D83A30}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D2F67410-9933-42E8-B04A-E17634D83A30}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F7F70331-CB38-47D7-9366-F8C5D934D088}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F7F70331-CB38-47D7-9366-F8C5D934D088}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F7F70331-CB38-47D7-9366-F8C5D934D088}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F7F70331-CB38-47D7-9366-F8C5D934D088}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {E61EE414-3693-4C83-BDAA-17AB0024D0E6} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
+ {BC56E506-A2F7-46D4-95DC-BD97E5AF92D4} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
+ {2A72383A-9C00-41FB-9D29-909EE5E6BFB9} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
+ {C4C0CE7E-6A34-473E-A8FB-7D8FBA765779} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
+ {035AAD56-5F51-476C-8556-0F6CFD6EF1BF} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
+ {B37E6BAC-F16B-4366-94FB-8B94B52A08C9} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
+ {D2F67410-9933-42E8-B04A-E17634D83A30} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
+ {F7F70331-CB38-47D7-9366-F8C5D934D088} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {497D2ED4-A13E-4BCA-8D29-F30CA7D0EA4A}
+ EndGlobalSection
+EndGlobal
diff --git a/DotNetWorker.sln b/DotNetWorker.sln
index f9615a07d..3f3663791 100644
--- a/DotNetWorker.sln
+++ b/DotNetWorker.sln
@@ -3,16 +3,10 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32228.430
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{FD7243E4-BF18-43F8-8744-BA1D17ACF378}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FunctionApp", "samples\FunctionApp\FunctionApp.csproj", "{E61EE414-3693-4C83-BDAA-17AB0024D0E6}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DotNetWorker", "src\DotNetWorker\DotNetWorker.csproj", "{2B47EC99-E383-4DFA-9130-DAF40FDA313B}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DotNetWorkerTests", "test\DotNetWorkerTests\DotNetWorkerTests.csproj", "{02D1B220-3DAE-40E7-B5CC-86501756BF92}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sdk", "sdk", "{4B0D77E7-FA83-4FDD-9E67-CC95EAD21348}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{1B6B4B62-686E-44B4-9CEC-710DA34BC09E}"
@@ -27,12 +21,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{1B6B4B62
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sdk", "sdk\Sdk\Sdk.csproj", "{E28BAAEF-4E70-4CAB-8475-759ECBAF1AF5}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SdkTests", "test\FunctionMetadataGeneratorTests\SdkTests.csproj", "{5C38C5A3-83A5-4E2F-9B32-204C2225E890}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FunctionMetadataLoaderExtension", "sdk\FunctionMetadataLoaderExtension\FunctionMetadataLoaderExtension.csproj", "{6B64FE04-BA90-49FC-893A-DF12EF15280C}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SdkE2ETests", "test\SdkE2ETests\SdkE2ETests.csproj", "{BFB2832E-C3AB-4F09-B285-B24E535EC858}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{42CB3DE7-B070-4BA1-8A7A-ACB237BEAA4E}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
@@ -40,115 +30,41 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtility", "test\TestUtility\TestUtility.csproj", "{C30B77A7-4085-422E-AADE-A4322989F5F8}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "extensions", "extensions", "{A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Http", "extensions\Worker.Extensions.Http\src\Worker.Extensions.Http.csproj", "{1E601406-6923-4CB9-AAD7-928E08906B10}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Abstractions", "extensions\Worker.Extensions.Abstractions\src\Worker.Extensions.Abstractions.csproj", "{B5F66802-0968-4B99-8E97-E42C744CE5CE}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Storage", "extensions\Worker.Extensions.Storage\src\Worker.Extensions.Storage.csproj", "{D6EAB0C1-491C-4723-B1F3-B6F5461CD359}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Timer", "extensions\Worker.Extensions.Timer\src\Worker.Extensions.Timer.csproj", "{4DBEC557-E5CC-41E9-9319-BC02615CF228}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.CosmosDB", "extensions\Worker.Extensions.CosmosDB\src\Worker.Extensions.CosmosDB.csproj", "{37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.EventGrid", "extensions\Worker.Extensions.EventGrid\src\Worker.Extensions.EventGrid.csproj", "{9C305047-0B81-4DA1-98D4-BC8B391A2297}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.ServiceBus", "extensions\Worker.Extensions.ServiceBus\src\Worker.Extensions.ServiceBus.csproj", "{660B4D9D-081A-4DCA-BD7A-E196F4529BFD}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.EventHubs", "extensions\Worker.Extensions.EventHubs\src\Worker.Extensions.EventHubs.csproj", "{4A5770BE-6BB7-448F-A818-DD1450F8CBDC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.RabbitMQ", "extensions\Worker.Extensions.RabbitMQ\src\Worker.Extensions.RabbitMQ.csproj", "{55652CF7-E58B-4564-A76B-D49DC71878DC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.SignalRService", "extensions\Worker.Extensions.SignalRService\src\Worker.Extensions.SignalRService.csproj", "{A9802FBA-CF59-462B-88A0-1D7D0D19C748}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.SendGrid", "extensions\Worker.Extensions.SendGrid\src\Worker.Extensions.SendGrid.csproj", "{59EB5B01-4756-48BB-8B37-70D29E3BDFB6}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Warmup", "extensions\Worker.Extensions.Warmup\src\Worker.Extensions.Warmup.csproj", "{BDA0BCB4-BD26-4B10-B865-87082F290B38}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Kafka", "extensions\Worker.Extensions.Kafka\src\Worker.Extensions.Kafka.csproj", "{F63A63A9-FE09-4225-A293-6A58F9C1E520}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sdk.Analyzers", "sdk\Sdk.Analyzers\Sdk.Analyzers.csproj", "{055D602D-D2B3-416B-AC59-1972D832032A}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sdk.Analyzers.Tests", "test\Sdk.Analyzers.Tests\Sdk.Analyzers.Tests.csproj", "{A75EA1E1-2801-460C-87C0-DE6A82D30851}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{083592CA-7DAB-44CE-8979-44FAFA46AEC3}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Worker", "Worker", "{0F6B5528-642F-4C46-AB4E-15E9B6CE24F9}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sdk", "Sdk", "{B5821230-6E0A-4535-88A9-ED31B6F07596}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Apps", "Apps", "{0EA6A975-2934-4837-9932-2328EFE23BFD}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "E2EApp", "test\E2ETests\E2EApps\E2EApp\E2EApp.csproj", "{34CB5A87-0433-4C19-9CB3-E2F58119CDE9}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "E2ETests", "test\E2ETests\E2ETests\E2ETests.csproj", "{059C8F76-20F9-42BD-A343-64EE3ACF1AF8}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DotNetWorker.Grpc", "src\DotNetWorker.Grpc\DotNetWorker.Grpc.csproj", "{248ACC90-D4F9-432B-B7B9-341EF00FA072}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DotNetWorker.Core", "src\DotNetWorker.Core\DotNetWorker.Core.csproj", "{23AAA8FA-5B51-49BF-8021-148C8031A321}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Extensions", "samples\Extensions\Extensions.csproj", "{BC56E506-A2F7-46D4-95DC-BD97E5AF92D4}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CustomMiddleware", "samples\CustomMiddleware\CustomMiddleware.csproj", "{2A72383A-9C00-41FB-9D29-909EE5E6BFB9}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EntityFramework", "samples\EntityFramework\EntityFramework.csproj", "{C4C0CE7E-6A34-473E-A8FB-7D8FBA765779}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Configuration", "samples\Configuration\Configuration.csproj", "{035AAD56-5F51-476C-8556-0F6CFD6EF1BF}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Storage.Queues", "extensions\Worker.Extensions.Storage.Queues\src\Worker.Extensions.Storage.Queues.csproj", "{1D2A2B02-BFA8-4E53-9844-88359C5B2671}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Storage.Blobs", "extensions\Worker.Extensions.Storage.Blobs\src\Worker.Extensions.Storage.Blobs.csproj", "{FC352905-BD72-4049-8D32-3CBB9304FDC8}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sdk.Generators", "sdk\Sdk.Generators\Sdk.Generators.csproj", "{F77CCCE6-2DC3-48AA-8FE8-1B135B76B90E}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sdk.Generator.Tests", "test\Sdk.Generator.Tests\Sdk.Generator.Tests.csproj", "{18A09B24-8646-40A6-BD85-2773AF567453}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Sample", "test\Worker.Extensions.Sample\Worker.Extensions.Sample.csproj", "{9E23C9B2-7C0A-4F09-987F-0E5BDC8BE28C}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SampleExtensions", "SampleExtensions", "{922A387F-8595-4C74-ABF1-AEFF9530950C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Sample-IncorrectImplementation", "test\Worker.Extensions.Sample-IncorrectImplementation\Worker.Extensions.Sample-IncorrectImplementation.csproj", "{22FCE0DF-65FE-4650-8202-765832C40E6D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetFxWorker", "samples\NetFxWorker\NetFxWorker.csproj", "{B37E6BAC-F16B-4366-94FB-8B94B52A08C9}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DotNetWorker.ApplicationInsights", "src\DotNetWorker.ApplicationInsights\DotNetWorker.ApplicationInsights.csproj", "{65DE66B6-568F-46AC-8F0D-C79A02F48214}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Tables", "extensions\Worker.Extensions.Tables\src\Worker.Extensions.Tables.csproj", "{004DEF24-7EBB-499D-BD1C-E940AC4E122D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Shared", "extensions\Worker.Extensions.Shared\Worker.Extensions.Shared.csproj", "{277D77B9-8915-41E3-8763-0B66328ADDDA}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Rpc", "extensions\Worker.Extensions.Rpc\src\Worker.Extensions.Rpc.csproj", "{93B64F12-EBDD-46CE-B4FB-0904701F0032}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions", "Extensions", "{AA4D318D-101B-49E7-A4EC-B34165AEDB33}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Rpc.Tests", "test\Worker.Extensions.Rpc.Tests\Worker.Extensions.Rpc.Tests.csproj", "{B13C9E5F-0E4B-413E-90AE-20B84B100364}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Http.AspNetCore", "extensions\Worker.Extensions.Http.AspNetCore\src\Worker.Extensions.Http.AspNetCore.csproj", "{1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DotNetWorker.OpenTelemetry", "src\DotNetWorker.OpenTelemetry\DotNetWorker.OpenTelemetry.csproj", "{82157559-DF60-496D-817F-84B34CFF76FD}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.SignalRService.Tests", "test\Worker.Extensions.SignalRService.Tests\Worker.Extensions.SignalRService.Tests.csproj", "{286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DotNetWorker.OpenTelemetry.Tests", "test\DotNetWorker.OpenTelemetry.Tests\DotNetWorker.OpenTelemetry.Tests.csproj", "{9AE6E00C-5E6F-4615-9C69-464E9B208E8C}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Tests", "test\Worker.Extensions.Tests\Worker.Extensions.Tests.csproj", "{17BDCE12-6964-4B87-B2AC-68CE270A3E9A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DotNetWorkerTests", "test\DotNetWorkerTests\DotNetWorkerTests.csproj", "{B0A6867D-2C35-4BF1-892E-CE84795525BD}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetIntegration", "samples\AspNetIntegration\AspNetIntegration.csproj", "{D2F67410-9933-42E8-B04A-E17634D83A30}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sdk.Analyzers.Tests", "test\Sdk.Analyzers.Tests\Sdk.Analyzers.Tests.csproj", "{C05499A2-0232-4F73-A6CA-043F0B26C485}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DependentAssemblyWithFunctions", "test\DependentAssemblyWithFunctions\DependentAssemblyWithFunctions.csproj", "{AB6E1E7A-0D2C-4086-9487-566887C1E753}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sdk.Generator.Tests", "test\Sdk.Generator.Tests\Sdk.Generator.Tests.csproj", "{9DF7E7E0-F669-4140-AE40-1BE53F0F6CF6}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Http.AspNetCore.Tests", "test\extensions\Worker.Extensions.Http.AspNetCore.Tests\Worker.Extensions.Http.AspNetCore.Tests.csproj", "{D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sdk", "sdk", "{E785547C-7546-469F-827C-FDF999D5D7E8}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Shared.Tests", "test\Worker.Extensions.Shared.Tests\Worker.Extensions.Shared.Tests.csproj", "{B6342174-5436-4846-B43C-39D8E34AE5CF}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SampleExtensions", "SampleExtensions", "{93473E6C-2352-497F-85DA-36E01B9579F0}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Net7Worker", "samples\Net7Worker\Net7Worker.csproj", "{BE1F79C3-24FA-4BC8-BAB2-C1AD321B13FF}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Sample", "test\Worker.Extensions.Sample\Worker.Extensions.Sample.csproj", "{B2EEC775-6185-4094-B3B5-767E11EA8B36}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DependentAssemblyWithFunctions.NetStandard", "test\DependentAssemblyWithFunctions.NetStandard\DependentAssemblyWithFunctions.NetStandard.csproj", "{198DA072-F94F-4585-A744-97B3DAC21686}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Sample-IncorrectImplementation", "test\Worker.Extensions.Sample-IncorrectImplementation\Worker.Extensions.Sample-IncorrectImplementation.csproj", "{AFF31023-C302-4FE9-829C-5D219DFCDFD5}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DotNetWorker.OpenTelemetry", "src\DotNetWorker.OpenTelemetry\DotNetWorker.OpenTelemetry.csproj", "{82157559-DF60-496D-817F-84B34CFF76FD}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DotNetWorker.OpenTelemetry.Tests", "test\DotNetWorker.OpenTelemetry.Tests\DotNetWorker.OpenTelemetry.Tests.csproj", "{9AE6E00C-5E6F-4615-9C69-464E9B208E8C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DependentAssemblyWithFunctions", "test\DependentAssemblyWithFunctions\DependentAssemblyWithFunctions.csproj", "{BE88B7F0-F0DF-4EC4-8312-EDCB61810FA4}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker.Extensions.Timer.Tests", "test\extensions\Worker.Extensions.Timer.Tests\Worker.Extensions.Timer.Tests.csproj", "{6947034E-C97F-4F78-940F-B6A398E23C9C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DependentAssemblyWithFunctions.NetStandard", "test\DependentAssemblyWithFunctions.NetStandard\DependentAssemblyWithFunctions.NetStandard.csproj", "{429D067C-0846-40EF-A264-AB0C5D551CB0}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Worker.Extensions.Http.AspNetCore.Analyzers", "extensions\Worker.Extensions.Http.AspNetCore.Analyzers\src\Worker.Extensions.Http.AspNetCore.Analyzers.csproj", "{63C70590-7F4A-4D54-9157-7FEDE0F8650D}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sdk.E2ETests", "test\Sdk.E2ETests\Sdk.E2ETests.csproj", "{750993F6-4E3B-411B-9471-74CEA4F9C23A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -156,106 +72,26 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {E61EE414-3693-4C83-BDAA-17AB0024D0E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E61EE414-3693-4C83-BDAA-17AB0024D0E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E61EE414-3693-4C83-BDAA-17AB0024D0E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E61EE414-3693-4C83-BDAA-17AB0024D0E6}.Release|Any CPU.Build.0 = Release|Any CPU
{2B47EC99-E383-4DFA-9130-DAF40FDA313B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2B47EC99-E383-4DFA-9130-DAF40FDA313B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2B47EC99-E383-4DFA-9130-DAF40FDA313B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2B47EC99-E383-4DFA-9130-DAF40FDA313B}.Release|Any CPU.Build.0 = Release|Any CPU
- {02D1B220-3DAE-40E7-B5CC-86501756BF92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {02D1B220-3DAE-40E7-B5CC-86501756BF92}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {02D1B220-3DAE-40E7-B5CC-86501756BF92}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {02D1B220-3DAE-40E7-B5CC-86501756BF92}.Release|Any CPU.Build.0 = Release|Any CPU
{E28BAAEF-4E70-4CAB-8475-759ECBAF1AF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E28BAAEF-4E70-4CAB-8475-759ECBAF1AF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E28BAAEF-4E70-4CAB-8475-759ECBAF1AF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E28BAAEF-4E70-4CAB-8475-759ECBAF1AF5}.Release|Any CPU.Build.0 = Release|Any CPU
- {5C38C5A3-83A5-4E2F-9B32-204C2225E890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5C38C5A3-83A5-4E2F-9B32-204C2225E890}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5C38C5A3-83A5-4E2F-9B32-204C2225E890}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5C38C5A3-83A5-4E2F-9B32-204C2225E890}.Release|Any CPU.Build.0 = Release|Any CPU
{6B64FE04-BA90-49FC-893A-DF12EF15280C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6B64FE04-BA90-49FC-893A-DF12EF15280C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B64FE04-BA90-49FC-893A-DF12EF15280C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B64FE04-BA90-49FC-893A-DF12EF15280C}.Release|Any CPU.Build.0 = Release|Any CPU
- {BFB2832E-C3AB-4F09-B285-B24E535EC858}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BFB2832E-C3AB-4F09-B285-B24E535EC858}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BFB2832E-C3AB-4F09-B285-B24E535EC858}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BFB2832E-C3AB-4F09-B285-B24E535EC858}.Release|Any CPU.Build.0 = Release|Any CPU
{C30B77A7-4085-422E-AADE-A4322989F5F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C30B77A7-4085-422E-AADE-A4322989F5F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C30B77A7-4085-422E-AADE-A4322989F5F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C30B77A7-4085-422E-AADE-A4322989F5F8}.Release|Any CPU.Build.0 = Release|Any CPU
- {1E601406-6923-4CB9-AAD7-928E08906B10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1E601406-6923-4CB9-AAD7-928E08906B10}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1E601406-6923-4CB9-AAD7-928E08906B10}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1E601406-6923-4CB9-AAD7-928E08906B10}.Release|Any CPU.Build.0 = Release|Any CPU
- {B5F66802-0968-4B99-8E97-E42C744CE5CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B5F66802-0968-4B99-8E97-E42C744CE5CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B5F66802-0968-4B99-8E97-E42C744CE5CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B5F66802-0968-4B99-8E97-E42C744CE5CE}.Release|Any CPU.Build.0 = Release|Any CPU
- {D6EAB0C1-491C-4723-B1F3-B6F5461CD359}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D6EAB0C1-491C-4723-B1F3-B6F5461CD359}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D6EAB0C1-491C-4723-B1F3-B6F5461CD359}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D6EAB0C1-491C-4723-B1F3-B6F5461CD359}.Release|Any CPU.Build.0 = Release|Any CPU
- {4DBEC557-E5CC-41E9-9319-BC02615CF228}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4DBEC557-E5CC-41E9-9319-BC02615CF228}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4DBEC557-E5CC-41E9-9319-BC02615CF228}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4DBEC557-E5CC-41E9-9319-BC02615CF228}.Release|Any CPU.Build.0 = Release|Any CPU
- {37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882}.Release|Any CPU.Build.0 = Release|Any CPU
- {9C305047-0B81-4DA1-98D4-BC8B391A2297}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9C305047-0B81-4DA1-98D4-BC8B391A2297}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9C305047-0B81-4DA1-98D4-BC8B391A2297}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9C305047-0B81-4DA1-98D4-BC8B391A2297}.Release|Any CPU.Build.0 = Release|Any CPU
- {660B4D9D-081A-4DCA-BD7A-E196F4529BFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {660B4D9D-081A-4DCA-BD7A-E196F4529BFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {660B4D9D-081A-4DCA-BD7A-E196F4529BFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {660B4D9D-081A-4DCA-BD7A-E196F4529BFD}.Release|Any CPU.Build.0 = Release|Any CPU
- {4A5770BE-6BB7-448F-A818-DD1450F8CBDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4A5770BE-6BB7-448F-A818-DD1450F8CBDC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4A5770BE-6BB7-448F-A818-DD1450F8CBDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4A5770BE-6BB7-448F-A818-DD1450F8CBDC}.Release|Any CPU.Build.0 = Release|Any CPU
- {55652CF7-E58B-4564-A76B-D49DC71878DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {55652CF7-E58B-4564-A76B-D49DC71878DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {55652CF7-E58B-4564-A76B-D49DC71878DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {55652CF7-E58B-4564-A76B-D49DC71878DC}.Release|Any CPU.Build.0 = Release|Any CPU
- {A9802FBA-CF59-462B-88A0-1D7D0D19C748}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A9802FBA-CF59-462B-88A0-1D7D0D19C748}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A9802FBA-CF59-462B-88A0-1D7D0D19C748}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A9802FBA-CF59-462B-88A0-1D7D0D19C748}.Release|Any CPU.Build.0 = Release|Any CPU
- {59EB5B01-4756-48BB-8B37-70D29E3BDFB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {59EB5B01-4756-48BB-8B37-70D29E3BDFB6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {59EB5B01-4756-48BB-8B37-70D29E3BDFB6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {59EB5B01-4756-48BB-8B37-70D29E3BDFB6}.Release|Any CPU.Build.0 = Release|Any CPU
- {BDA0BCB4-BD26-4B10-B865-87082F290B38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BDA0BCB4-BD26-4B10-B865-87082F290B38}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BDA0BCB4-BD26-4B10-B865-87082F290B38}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BDA0BCB4-BD26-4B10-B865-87082F290B38}.Release|Any CPU.Build.0 = Release|Any CPU
- {F63A63A9-FE09-4225-A293-6A58F9C1E520}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F63A63A9-FE09-4225-A293-6A58F9C1E520}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F63A63A9-FE09-4225-A293-6A58F9C1E520}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F63A63A9-FE09-4225-A293-6A58F9C1E520}.Release|Any CPU.Build.0 = Release|Any CPU
{055D602D-D2B3-416B-AC59-1972D832032A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{055D602D-D2B3-416B-AC59-1972D832032A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{055D602D-D2B3-416B-AC59-1972D832032A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{055D602D-D2B3-416B-AC59-1972D832032A}.Release|Any CPU.Build.0 = Release|Any CPU
- {A75EA1E1-2801-460C-87C0-DE6A82D30851}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A75EA1E1-2801-460C-87C0-DE6A82D30851}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A75EA1E1-2801-460C-87C0-DE6A82D30851}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A75EA1E1-2801-460C-87C0-DE6A82D30851}.Release|Any CPU.Build.0 = Release|Any CPU
- {34CB5A87-0433-4C19-9CB3-E2F58119CDE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {34CB5A87-0433-4C19-9CB3-E2F58119CDE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {34CB5A87-0433-4C19-9CB3-E2F58119CDE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {34CB5A87-0433-4C19-9CB3-E2F58119CDE9}.Release|Any CPU.Build.0 = Release|Any CPU
- {059C8F76-20F9-42BD-A343-64EE3ACF1AF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {059C8F76-20F9-42BD-A343-64EE3ACF1AF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {059C8F76-20F9-42BD-A343-64EE3ACF1AF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {059C8F76-20F9-42BD-A343-64EE3ACF1AF8}.Release|Any CPU.Build.0 = Release|Any CPU
{248ACC90-D4F9-432B-B7B9-341EF00FA072}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{248ACC90-D4F9-432B-B7B9-341EF00FA072}.Debug|Any CPU.Build.0 = Debug|Any CPU
{248ACC90-D4F9-432B-B7B9-341EF00FA072}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -264,106 +100,14 @@ Global
{23AAA8FA-5B51-49BF-8021-148C8031A321}.Debug|Any CPU.Build.0 = Debug|Any CPU
{23AAA8FA-5B51-49BF-8021-148C8031A321}.Release|Any CPU.ActiveCfg = Release|Any CPU
{23AAA8FA-5B51-49BF-8021-148C8031A321}.Release|Any CPU.Build.0 = Release|Any CPU
- {BC56E506-A2F7-46D4-95DC-BD97E5AF92D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BC56E506-A2F7-46D4-95DC-BD97E5AF92D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BC56E506-A2F7-46D4-95DC-BD97E5AF92D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BC56E506-A2F7-46D4-95DC-BD97E5AF92D4}.Release|Any CPU.Build.0 = Release|Any CPU
- {2A72383A-9C00-41FB-9D29-909EE5E6BFB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2A72383A-9C00-41FB-9D29-909EE5E6BFB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2A72383A-9C00-41FB-9D29-909EE5E6BFB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2A72383A-9C00-41FB-9D29-909EE5E6BFB9}.Release|Any CPU.Build.0 = Release|Any CPU
- {C4C0CE7E-6A34-473E-A8FB-7D8FBA765779}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C4C0CE7E-6A34-473E-A8FB-7D8FBA765779}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C4C0CE7E-6A34-473E-A8FB-7D8FBA765779}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C4C0CE7E-6A34-473E-A8FB-7D8FBA765779}.Release|Any CPU.Build.0 = Release|Any CPU
- {035AAD56-5F51-476C-8556-0F6CFD6EF1BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {035AAD56-5F51-476C-8556-0F6CFD6EF1BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {035AAD56-5F51-476C-8556-0F6CFD6EF1BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {035AAD56-5F51-476C-8556-0F6CFD6EF1BF}.Release|Any CPU.Build.0 = Release|Any CPU
- {1D2A2B02-BFA8-4E53-9844-88359C5B2671}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1D2A2B02-BFA8-4E53-9844-88359C5B2671}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1D2A2B02-BFA8-4E53-9844-88359C5B2671}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1D2A2B02-BFA8-4E53-9844-88359C5B2671}.Release|Any CPU.Build.0 = Release|Any CPU
- {FC352905-BD72-4049-8D32-3CBB9304FDC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FC352905-BD72-4049-8D32-3CBB9304FDC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FC352905-BD72-4049-8D32-3CBB9304FDC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FC352905-BD72-4049-8D32-3CBB9304FDC8}.Release|Any CPU.Build.0 = Release|Any CPU
{F77CCCE6-2DC3-48AA-8FE8-1B135B76B90E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F77CCCE6-2DC3-48AA-8FE8-1B135B76B90E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F77CCCE6-2DC3-48AA-8FE8-1B135B76B90E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F77CCCE6-2DC3-48AA-8FE8-1B135B76B90E}.Release|Any CPU.Build.0 = Release|Any CPU
- {18A09B24-8646-40A6-BD85-2773AF567453}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {18A09B24-8646-40A6-BD85-2773AF567453}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {18A09B24-8646-40A6-BD85-2773AF567453}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {18A09B24-8646-40A6-BD85-2773AF567453}.Release|Any CPU.Build.0 = Release|Any CPU
- {9E23C9B2-7C0A-4F09-987F-0E5BDC8BE28C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9E23C9B2-7C0A-4F09-987F-0E5BDC8BE28C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9E23C9B2-7C0A-4F09-987F-0E5BDC8BE28C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9E23C9B2-7C0A-4F09-987F-0E5BDC8BE28C}.Release|Any CPU.Build.0 = Release|Any CPU
- {22FCE0DF-65FE-4650-8202-765832C40E6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {22FCE0DF-65FE-4650-8202-765832C40E6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {22FCE0DF-65FE-4650-8202-765832C40E6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {22FCE0DF-65FE-4650-8202-765832C40E6D}.Release|Any CPU.Build.0 = Release|Any CPU
- {B37E6BAC-F16B-4366-94FB-8B94B52A08C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B37E6BAC-F16B-4366-94FB-8B94B52A08C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B37E6BAC-F16B-4366-94FB-8B94B52A08C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B37E6BAC-F16B-4366-94FB-8B94B52A08C9}.Release|Any CPU.Build.0 = Release|Any CPU
{65DE66B6-568F-46AC-8F0D-C79A02F48214}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{65DE66B6-568F-46AC-8F0D-C79A02F48214}.Debug|Any CPU.Build.0 = Debug|Any CPU
{65DE66B6-568F-46AC-8F0D-C79A02F48214}.Release|Any CPU.ActiveCfg = Release|Any CPU
{65DE66B6-568F-46AC-8F0D-C79A02F48214}.Release|Any CPU.Build.0 = Release|Any CPU
- {004DEF24-7EBB-499D-BD1C-E940AC4E122D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {004DEF24-7EBB-499D-BD1C-E940AC4E122D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {004DEF24-7EBB-499D-BD1C-E940AC4E122D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {004DEF24-7EBB-499D-BD1C-E940AC4E122D}.Release|Any CPU.Build.0 = Release|Any CPU
- {277D77B9-8915-41E3-8763-0B66328ADDDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {277D77B9-8915-41E3-8763-0B66328ADDDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {277D77B9-8915-41E3-8763-0B66328ADDDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {277D77B9-8915-41E3-8763-0B66328ADDDA}.Release|Any CPU.Build.0 = Release|Any CPU
- {93B64F12-EBDD-46CE-B4FB-0904701F0032}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {93B64F12-EBDD-46CE-B4FB-0904701F0032}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {93B64F12-EBDD-46CE-B4FB-0904701F0032}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {93B64F12-EBDD-46CE-B4FB-0904701F0032}.Release|Any CPU.Build.0 = Release|Any CPU
- {B13C9E5F-0E4B-413E-90AE-20B84B100364}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B13C9E5F-0E4B-413E-90AE-20B84B100364}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B13C9E5F-0E4B-413E-90AE-20B84B100364}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B13C9E5F-0E4B-413E-90AE-20B84B100364}.Release|Any CPU.Build.0 = Release|Any CPU
- {1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A}.Release|Any CPU.Build.0 = Release|Any CPU
- {286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2}.Release|Any CPU.Build.0 = Release|Any CPU
- {17BDCE12-6964-4B87-B2AC-68CE270A3E9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {17BDCE12-6964-4B87-B2AC-68CE270A3E9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {17BDCE12-6964-4B87-B2AC-68CE270A3E9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {17BDCE12-6964-4B87-B2AC-68CE270A3E9A}.Release|Any CPU.Build.0 = Release|Any CPU
- {D2F67410-9933-42E8-B04A-E17634D83A30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D2F67410-9933-42E8-B04A-E17634D83A30}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D2F67410-9933-42E8-B04A-E17634D83A30}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D2F67410-9933-42E8-B04A-E17634D83A30}.Release|Any CPU.Build.0 = Release|Any CPU
- {AB6E1E7A-0D2C-4086-9487-566887C1E753}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AB6E1E7A-0D2C-4086-9487-566887C1E753}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AB6E1E7A-0D2C-4086-9487-566887C1E753}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AB6E1E7A-0D2C-4086-9487-566887C1E753}.Release|Any CPU.Build.0 = Release|Any CPU
- {D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4}.Release|Any CPU.Build.0 = Release|Any CPU
- {B6342174-5436-4846-B43C-39D8E34AE5CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B6342174-5436-4846-B43C-39D8E34AE5CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B6342174-5436-4846-B43C-39D8E34AE5CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B6342174-5436-4846-B43C-39D8E34AE5CF}.Release|Any CPU.Build.0 = Release|Any CPU
- {BE1F79C3-24FA-4BC8-BAB2-C1AD321B13FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BE1F79C3-24FA-4BC8-BAB2-C1AD321B13FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BE1F79C3-24FA-4BC8-BAB2-C1AD321B13FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BE1F79C3-24FA-4BC8-BAB2-C1AD321B13FF}.Release|Any CPU.Build.0 = Release|Any CPU
- {198DA072-F94F-4585-A744-97B3DAC21686}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {198DA072-F94F-4585-A744-97B3DAC21686}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {198DA072-F94F-4585-A744-97B3DAC21686}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {198DA072-F94F-4585-A744-97B3DAC21686}.Release|Any CPU.Build.0 = Release|Any CPU
{82157559-DF60-496D-817F-84B34CFF76FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{82157559-DF60-496D-817F-84B34CFF76FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{82157559-DF60-496D-817F-84B34CFF76FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -372,80 +116,64 @@ Global
{9AE6E00C-5E6F-4615-9C69-464E9B208E8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9AE6E00C-5E6F-4615-9C69-464E9B208E8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9AE6E00C-5E6F-4615-9C69-464E9B208E8C}.Release|Any CPU.Build.0 = Release|Any CPU
- {6947034E-C97F-4F78-940F-B6A398E23C9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6947034E-C97F-4F78-940F-B6A398E23C9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6947034E-C97F-4F78-940F-B6A398E23C9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6947034E-C97F-4F78-940F-B6A398E23C9C}.Release|Any CPU.Build.0 = Release|Any CPU
- {63C70590-7F4A-4D54-9157-7FEDE0F8650D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {63C70590-7F4A-4D54-9157-7FEDE0F8650D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {63C70590-7F4A-4D54-9157-7FEDE0F8650D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {63C70590-7F4A-4D54-9157-7FEDE0F8650D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B0A6867D-2C35-4BF1-892E-CE84795525BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B0A6867D-2C35-4BF1-892E-CE84795525BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B0A6867D-2C35-4BF1-892E-CE84795525BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B0A6867D-2C35-4BF1-892E-CE84795525BD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C05499A2-0232-4F73-A6CA-043F0B26C485}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C05499A2-0232-4F73-A6CA-043F0B26C485}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C05499A2-0232-4F73-A6CA-043F0B26C485}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C05499A2-0232-4F73-A6CA-043F0B26C485}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9DF7E7E0-F669-4140-AE40-1BE53F0F6CF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9DF7E7E0-F669-4140-AE40-1BE53F0F6CF6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9DF7E7E0-F669-4140-AE40-1BE53F0F6CF6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9DF7E7E0-F669-4140-AE40-1BE53F0F6CF6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B2EEC775-6185-4094-B3B5-767E11EA8B36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B2EEC775-6185-4094-B3B5-767E11EA8B36}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B2EEC775-6185-4094-B3B5-767E11EA8B36}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B2EEC775-6185-4094-B3B5-767E11EA8B36}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AFF31023-C302-4FE9-829C-5D219DFCDFD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AFF31023-C302-4FE9-829C-5D219DFCDFD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AFF31023-C302-4FE9-829C-5D219DFCDFD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AFF31023-C302-4FE9-829C-5D219DFCDFD5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BE88B7F0-F0DF-4EC4-8312-EDCB61810FA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BE88B7F0-F0DF-4EC4-8312-EDCB61810FA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BE88B7F0-F0DF-4EC4-8312-EDCB61810FA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BE88B7F0-F0DF-4EC4-8312-EDCB61810FA4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {429D067C-0846-40EF-A264-AB0C5D551CB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {429D067C-0846-40EF-A264-AB0C5D551CB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {429D067C-0846-40EF-A264-AB0C5D551CB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {429D067C-0846-40EF-A264-AB0C5D551CB0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {750993F6-4E3B-411B-9471-74CEA4F9C23A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {750993F6-4E3B-411B-9471-74CEA4F9C23A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {750993F6-4E3B-411B-9471-74CEA4F9C23A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {750993F6-4E3B-411B-9471-74CEA4F9C23A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
- {E61EE414-3693-4C83-BDAA-17AB0024D0E6} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
{2B47EC99-E383-4DFA-9130-DAF40FDA313B} = {083592CA-7DAB-44CE-8979-44FAFA46AEC3}
- {02D1B220-3DAE-40E7-B5CC-86501756BF92} = {0F6B5528-642F-4C46-AB4E-15E9B6CE24F9}
{E28BAAEF-4E70-4CAB-8475-759ECBAF1AF5} = {4B0D77E7-FA83-4FDD-9E67-CC95EAD21348}
- {5C38C5A3-83A5-4E2F-9B32-204C2225E890} = {B5821230-6E0A-4535-88A9-ED31B6F07596}
{6B64FE04-BA90-49FC-893A-DF12EF15280C} = {4B0D77E7-FA83-4FDD-9E67-CC95EAD21348}
- {BFB2832E-C3AB-4F09-B285-B24E535EC858} = {B5821230-6E0A-4535-88A9-ED31B6F07596}
{C30B77A7-4085-422E-AADE-A4322989F5F8} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
- {1E601406-6923-4CB9-AAD7-928E08906B10} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {B5F66802-0968-4B99-8E97-E42C744CE5CE} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {D6EAB0C1-491C-4723-B1F3-B6F5461CD359} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {4DBEC557-E5CC-41E9-9319-BC02615CF228} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {37F71B56-1FC7-4BEC-9AB4-FF57C6BF2882} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {9C305047-0B81-4DA1-98D4-BC8B391A2297} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {660B4D9D-081A-4DCA-BD7A-E196F4529BFD} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {4A5770BE-6BB7-448F-A818-DD1450F8CBDC} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {55652CF7-E58B-4564-A76B-D49DC71878DC} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {A9802FBA-CF59-462B-88A0-1D7D0D19C748} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {59EB5B01-4756-48BB-8B37-70D29E3BDFB6} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {BDA0BCB4-BD26-4B10-B865-87082F290B38} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {F63A63A9-FE09-4225-A293-6A58F9C1E520} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
{055D602D-D2B3-416B-AC59-1972D832032A} = {4B0D77E7-FA83-4FDD-9E67-CC95EAD21348}
- {A75EA1E1-2801-460C-87C0-DE6A82D30851} = {B5821230-6E0A-4535-88A9-ED31B6F07596}
- {0F6B5528-642F-4C46-AB4E-15E9B6CE24F9} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
- {B5821230-6E0A-4535-88A9-ED31B6F07596} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
- {0EA6A975-2934-4837-9932-2328EFE23BFD} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
- {34CB5A87-0433-4C19-9CB3-E2F58119CDE9} = {0EA6A975-2934-4837-9932-2328EFE23BFD}
- {059C8F76-20F9-42BD-A343-64EE3ACF1AF8} = {0F6B5528-642F-4C46-AB4E-15E9B6CE24F9}
{248ACC90-D4F9-432B-B7B9-341EF00FA072} = {083592CA-7DAB-44CE-8979-44FAFA46AEC3}
{23AAA8FA-5B51-49BF-8021-148C8031A321} = {083592CA-7DAB-44CE-8979-44FAFA46AEC3}
- {BC56E506-A2F7-46D4-95DC-BD97E5AF92D4} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
- {2A72383A-9C00-41FB-9D29-909EE5E6BFB9} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
- {C4C0CE7E-6A34-473E-A8FB-7D8FBA765779} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
- {035AAD56-5F51-476C-8556-0F6CFD6EF1BF} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
- {1D2A2B02-BFA8-4E53-9844-88359C5B2671} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {FC352905-BD72-4049-8D32-3CBB9304FDC8} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
{F77CCCE6-2DC3-48AA-8FE8-1B135B76B90E} = {4B0D77E7-FA83-4FDD-9E67-CC95EAD21348}
- {18A09B24-8646-40A6-BD85-2773AF567453} = {B5821230-6E0A-4535-88A9-ED31B6F07596}
- {9E23C9B2-7C0A-4F09-987F-0E5BDC8BE28C} = {922A387F-8595-4C74-ABF1-AEFF9530950C}
- {922A387F-8595-4C74-ABF1-AEFF9530950C} = {B5821230-6E0A-4535-88A9-ED31B6F07596}
- {22FCE0DF-65FE-4650-8202-765832C40E6D} = {922A387F-8595-4C74-ABF1-AEFF9530950C}
- {B37E6BAC-F16B-4366-94FB-8B94B52A08C9} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
{65DE66B6-568F-46AC-8F0D-C79A02F48214} = {083592CA-7DAB-44CE-8979-44FAFA46AEC3}
- {004DEF24-7EBB-499D-BD1C-E940AC4E122D} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {277D77B9-8915-41E3-8763-0B66328ADDDA} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {93B64F12-EBDD-46CE-B4FB-0904701F0032} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {AA4D318D-101B-49E7-A4EC-B34165AEDB33} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
- {B13C9E5F-0E4B-413E-90AE-20B84B100364} = {AA4D318D-101B-49E7-A4EC-B34165AEDB33}
- {1F6B7CF6-0CC8-4C7F-825F-74B0BEC1CF0A} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
- {286F9EE3-00AE-4EFA-BFD8-A2E58BC809D2} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
- {17BDCE12-6964-4B87-B2AC-68CE270A3E9A} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
- {D2F67410-9933-42E8-B04A-E17634D83A30} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
- {AB6E1E7A-0D2C-4086-9487-566887C1E753} = {B5821230-6E0A-4535-88A9-ED31B6F07596}
- {D8E79B53-9A44-46CC-9D7A-E9494FC8CAF4} = {AA4D318D-101B-49E7-A4EC-B34165AEDB33}
- {B6342174-5436-4846-B43C-39D8E34AE5CF} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
- {BE1F79C3-24FA-4BC8-BAB2-C1AD321B13FF} = {9D6603BD-7EA2-4D11-A69C-0D9E01317FD6}
- {198DA072-F94F-4585-A744-97B3DAC21686} = {B5821230-6E0A-4535-88A9-ED31B6F07596}
{82157559-DF60-496D-817F-84B34CFF76FD} = {083592CA-7DAB-44CE-8979-44FAFA46AEC3}
{9AE6E00C-5E6F-4615-9C69-464E9B208E8C} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
- {6947034E-C97F-4F78-940F-B6A398E23C9C} = {AA4D318D-101B-49E7-A4EC-B34165AEDB33}
- {63C70590-7F4A-4D54-9157-7FEDE0F8650D} = {A7B4FF1E-3DF7-4F28-9333-D0961CDDF702}
+ {B0A6867D-2C35-4BF1-892E-CE84795525BD} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
+ {C05499A2-0232-4F73-A6CA-043F0B26C485} = {E785547C-7546-469F-827C-FDF999D5D7E8}
+ {9DF7E7E0-F669-4140-AE40-1BE53F0F6CF6} = {E785547C-7546-469F-827C-FDF999D5D7E8}
+ {E785547C-7546-469F-827C-FDF999D5D7E8} = {FD7243E4-BF18-43F8-8744-BA1D17ACF378}
+ {93473E6C-2352-497F-85DA-36E01B9579F0} = {E785547C-7546-469F-827C-FDF999D5D7E8}
+ {B2EEC775-6185-4094-B3B5-767E11EA8B36} = {93473E6C-2352-497F-85DA-36E01B9579F0}
+ {AFF31023-C302-4FE9-829C-5D219DFCDFD5} = {93473E6C-2352-497F-85DA-36E01B9579F0}
+ {BE88B7F0-F0DF-4EC4-8312-EDCB61810FA4} = {E785547C-7546-469F-827C-FDF999D5D7E8}
+ {429D067C-0846-40EF-A264-AB0C5D551CB0} = {E785547C-7546-469F-827C-FDF999D5D7E8}
+ {750993F6-4E3B-411B-9471-74CEA4F9C23A} = {E785547C-7546-469F-827C-FDF999D5D7E8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {497D2ED4-A13E-4BCA-8D29-F30CA7D0EA4A}
diff --git a/NuGet.Config b/NuGet.Config
index dd8b5f55b..b35585178 100644
--- a/NuGet.Config
+++ b/NuGet.Config
@@ -4,6 +4,7 @@
-
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 1375a8cbe..4ecf09044 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-
+
|Branch|Status|
|---|---|
diff --git a/build/Common.props b/build/Common.props
index df8a00e68..7f4ac28e4 100644
--- a/build/Common.props
+++ b/build/Common.props
@@ -20,7 +20,7 @@
$(MSBuildThisFileDirectory)/../key.snk
embedded
true
- true"
+ true
true
false
diff --git a/build/install-dotnet.yml b/build/install-dotnet.yml
deleted file mode 100644
index 1cdaa3c38..000000000
--- a/build/install-dotnet.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-steps:
-# Some tests rely on 6.0.412 existing
-- task: UseDotNet@2
- displayName: 'Install .NET6 SDK'
- inputs:
- packageType: 'sdk'
- version: "6.x"
-
-- task: UseDotNet@2
- displayName: 'Install .NET7 SDK'
- inputs:
- packageType: 'sdk'
- version: "7.x"
-
-# The SDK we use to build
-- task: UseDotNet@2
- displayName: 'Install current .NET SDK'
- inputs:
- packageType: 'sdk'
- useGlobalJson: true
diff --git a/eng/build/extensionValidationProjectTemplate.txt b/eng/build/extensionValidationProjectTemplate.txt
index c6e2d69dc..db66e460d 100644
--- a/eng/build/extensionValidationProjectTemplate.txt
+++ b/eng/build/extensionValidationProjectTemplate.txt
@@ -2,6 +2,8 @@
net8.0
Library
+ false
+ false
diff --git a/eng/ci/code-mirror.yml b/eng/ci/code-mirror.yml
index 279f4f289..82b2298fa 100644
--- a/eng/ci/code-mirror.yml
+++ b/eng/ci/code-mirror.yml
@@ -4,6 +4,9 @@ trigger:
# Keep this set limited as appropriate (don't mirror individual user branches).
- main
- release/*
+ tags:
+ include:
+ - "*"
resources:
repositories:
@@ -13,7 +16,7 @@ resources:
ref: refs/tags/release
variables:
- - template: ci/variables/cfs.yml@eng
+- template: ci/variables/cfs.yml@eng
extends:
template: ci/code-mirror.yml@eng
diff --git a/eng/ci/host/official-release.yml b/eng/ci/host/official-release.yml
new file mode 100644
index 000000000..dac00071a
--- /dev/null
+++ b/eng/ci/host/official-release.yml
@@ -0,0 +1,106 @@
+pr: none
+trigger: none
+
+resources:
+ repositories:
+ - repository: 1es
+ type: git
+ name: 1ESPipelineTemplates/1ESPipelineTemplates
+ ref: refs/tags/release
+ - repository: eng
+ type: git
+ name: engineering
+ ref: refs/tags/release
+ pipelines:
+ - pipeline: build
+ source: dotnet-host.official
+
+variables:
+- template: ci/variables/cfs.yml@eng
+- name: artifact_name
+ value: NugetPackages
+ readonly: true
+- name: drop_path
+ value: $(Pipeline.Workspace)/build/$(artifact_name)
+ readonly: true
+- name: nuget_feed
+ value: public/infra
+ readonly: true
+- name: packages_pattern
+ value: $(drop_path)/*.nupkg;!$(drop_path)/**/*.symbols.nupkg
+ readonly: true
+
+extends:
+ template: v1/1ES.Official.PipelineTemplate.yml@1es
+ parameters:
+ pool:
+ name: 1es-pool-azfunc
+ image: 1es-ubuntu-22.04
+ os: linux
+
+ stages:
+ - stage: Release
+ jobs:
+ - job: Prepare
+
+ templateContext:
+ type: validationJob
+
+ steps:
+ - checkout: none
+
+ # validationJob uses retail artifact inputs
+ - download: build
+ artifact: $(artifact_name)
+
+ # For dotnet host release, we assume the first package (alphanumerically) in the drop is the one we want to version off of.
+ # This is a bit of a hack, but it works for our current setup.
+ # We use a regex to extract the version from the package name and set it as the build number.
+ - pwsh: |
+ $ErrorActionPreference = 'Stop'
+ $packages = Get-ChildItem -Path $(drop_path) -Filter *.nupkg -Recurse
+ $name = $packages[0].Name
+ Write-Host "Getting version for $name"
+ $version = [Regex]::Match($name, '(\d+\.\d+\.\d+(?:\.\d+)?(?:-[\w\.].*)?)(?=\.nupkg$)').Value
+ Write-Host "##vso[build.updatebuildnumber]$version"
+ displayName: Get package version
+
+ - job: Approval
+ dependsOn: Prepare
+ timeoutInMinutes: 1440
+ pool: server
+
+ steps:
+ - task: ManualValidation@1
+ inputs:
+ notifyUsers: '' # no notification
+ approvers: '[internal]\Azure Functions Core'
+ allowApproversToApproveTheirOwnRuns: false
+ instructions: |
+ Approve to release packages to:
+ - feed: $(nuget_feed)
+
+ - job: Publish
+ displayName: Publish packages
+ dependsOn: Approval
+
+ templateContext:
+ type: releaseJob
+ isProduction: true
+
+ inputs:
+ - input: pipelineArtifact
+ targetPath: $(drop_path)
+ artifactName: $(artifact_name)
+ pipeline: build
+
+ steps:
+ - task: 1ES.PublishNuget@1
+ displayName: Publish packages
+ inputs:
+ packagesToPush: $(packages_pattern)
+ packageParentPath: $(drop_path)
+ publishVstsFeed: $(nuget_feed)
+ nuGetFeedType: internal
+ allowPackageConflicts: true
+ publishPackageMetadata: true
diff --git a/eng/ci/official-build.yml b/eng/ci/official-build.yml
index 63776cde4..e55f81491 100644
--- a/eng/ci/official-build.yml
+++ b/eng/ci/official-build.yml
@@ -56,7 +56,6 @@ extends:
stages:
- stage: Build
-
jobs:
- template: /eng/ci/templates/official/jobs/build-artifacts.yml@self
diff --git a/eng/ci/official-release.yml b/eng/ci/official-release.yml
new file mode 100644
index 000000000..fb9f5368f
--- /dev/null
+++ b/eng/ci/official-release.yml
@@ -0,0 +1,148 @@
+parameters:
+- name: publishToNugetOrg
+ displayName: Publish to nuget.org?
+ type: boolean
+ default: false
+- name: packages
+ displayName: Packages to publish
+ type: string
+ default: core
+ values:
+ - core
+ - sdk
+ - application-insights
+ - open-telemetry
+
+pr: none
+trigger: none
+
+resources:
+ repositories:
+ - repository: 1es
+ type: git
+ name: 1ESPipelineTemplates/1ESPipelineTemplates
+ ref: refs/tags/release
+ - repository: eng
+ type: git
+ name: engineering
+ ref: refs/tags/release
+ pipelines:
+ - pipeline: build
+ source: dotnet-worker.official
+
+variables:
+- name: artifact_name
+ value: NugetPackages
+
+- ${{ if eq(parameters.packages, 'core') }}:
+ - name: target_folder
+ value: azure-functions/dotnet/worker
+ - name: package_name
+ value: Microsoft.Azure.Functions.Worker
+ - name: package_pattern
+ value: |
+ Microsoft.Azure.Functions.Worker.*.nupkg
+ !Microsoft.Azure.Functions.Worker.Sdk.*.nupkg
+ !Microsoft.Azure.Functions.Worker.ApplicationInsights.*.nupkg
+ !Microsoft.Azure.Functions.Worker.OpenTelemetry.*.nupkg
+ !*.symbols.nupkg
+
+- ${{ if eq(parameters.packages, 'sdk') }}:
+ - name: target_folder
+ value: azure-functions/dotnet/worker-sdk
+ - name: package_name
+ value: Microsoft.Azure.Functions.Worker.Sdk
+ - name: package_pattern
+ value: |
+ Microsoft.Azure.Functions.Worker.Sdk.*.nupkg
+ !*.symbols.nupkg
+
+- ${{ if eq(parameters.packages, 'application-insights') }}:
+ - name: target_folder
+ value: azure-functions/dotnet/worker-app-insights
+ - name: package_name
+ value: Microsoft.Azure.Functions.Worker.ApplicationInsights
+ - name: package_pattern
+ value: |
+ Microsoft.Azure.Functions.Worker.ApplicationInsights.*.nupkg
+ !*.symbols.nupkg
+
+- ${{ if eq(parameters.packages, 'open-telemetry') }}:
+ - name: target_folder
+ value: azure-functions/dotnet/worker-open-telemetry
+ - name: package_name
+ value: Microsoft.Azure.Functions.Worker.OpenTelemetry
+ - name: package_pattern
+ value: |
+ Microsoft.Azure.Functions.Worker.OpenTelemetry.*.nupkg
+ !*.symbols.nupkg
+
+extends:
+ template: v1/1ES.Official.PipelineTemplate.yml@1es
+ parameters:
+ pool:
+ name: 1es-pool-azfunc
+ image: 1es-ubuntu-22.04
+ os: linux
+
+ stages:
+ - stage: Prepare
+ jobs:
+ - job: Prepare
+
+ variables:
+ - name: drop_path
+ value: $(Pipeline.Workspace)/build/$(artifact_name)
+
+ templateContext:
+ type: validationJob
+
+ steps:
+ - checkout: none
+
+ # validationJob uses retail artifact inputs
+ - download: build
+ artifact: $(artifact_name)
+
+ # Our build does not have a custom version number set. To convey the version number to the release stage,
+ # we parse out the version from the .nupkg in the drop and set that as the build number. The release stage
+ # can then reference $(Build.BuildVersion) for the target upload folder.
+ - pwsh: |
+ $ErrorActionPreference = 'Stop'
+
+ $name = "$(package_name)".Trim()
+ Write-Host "Getting version for $name"
+ $package = Get-ChildItem -Path $(drop_path) -Recurse -Filter "$name.?.*.nupkg"
+
+ if ($package.Count -eq 0) {
+ Write-Host "##vso[task.LogIssue type=error;]Could not find package $name."
+ exit 1
+ }
+
+ if ($package.Count -gt 1) {
+ Write-Host "##vso[task.LogIssue type=error;]Too many packages matched $name."
+ exit 1
+ }
+
+ $version = $package.Name.Trim("$name.").Trim('.nupkg')
+ Write-Host "##vso[build.updatebuildnumber]$version"
+ Write-Host "##vso[build.addbuildtag]${{ parameters.packages }}"
+ Write-Host "##vso[build.addbuildtag]$version"
+ displayName: Get package version
+
+ - stage: Release
+ dependsOn: Prepare
+ jobs:
+ - template: /ci/release-nuget-package.yml@eng
+ parameters:
+ isProduction: true
+ approvers: '[internal]\Azure Functions Core'
+ stagingFeed: public/pre-release
+ packages: $(package_pattern)
+ artifact:
+ name: NugetPackages
+ pipeline: build
+ ${{ if eq(parameters.publishToNugetOrg, true) }}:
+ partnerDrop:
+ serviceConnection: azure-sdk-partner-drops
+ targetFolder: $(target_folder)/$(Build.BuildNumber)
diff --git a/eng/ci/templates/jobs/run-integration-tests-linux.yml b/eng/ci/templates/jobs/run-integration-tests-linux.yml
index 0c34bb056..f2b53e85d 100644
--- a/eng/ci/templates/jobs/run-integration-tests-linux.yml
+++ b/eng/ci/templates/jobs/run-integration-tests-linux.yml
@@ -20,11 +20,13 @@ jobs:
inputs:
command: build
arguments: '-c Release'
- projects: DotNetWorker.sln
+ projects: |
+ DotNetWorker.sln
+ DotNetWorker.Extensions.sln
- template: /eng/ci/templates/steps/setup-e2e-tests.yml@self
parameters:
- DotnetVersion: 'net7'
+ DotnetVersion: 'net8'
UseCoreToolsBuild: $(UseCoreToolsBuildFromIntegrationTests)
SkipCosmosDBEmulator: true
SkipBuildOnPack: true
@@ -36,4 +38,3 @@ jobs:
arguments: '--no-build -c Release --filter "FullyQualifiedName~HttpTrigger"' # only run http tests to avoid emulators on Linux
projects: |
test/**/*Tests.csproj
- !test/**/Worker.Extensions.Rpc.Tests.csproj
diff --git a/eng/ci/templates/jobs/run-integration-tests-windows.yml b/eng/ci/templates/jobs/run-integration-tests-windows.yml
index 65f97aeee..ea07fef37 100644
--- a/eng/ci/templates/jobs/run-integration-tests-windows.yml
+++ b/eng/ci/templates/jobs/run-integration-tests-windows.yml
@@ -1,5 +1,5 @@
parameters:
- name: PoolName
+- name: PoolName
type: string
jobs:
@@ -8,8 +8,8 @@ jobs:
strategy:
matrix:
- net7:
- dotnetVersion: 'net7'
+ net8:
+ dotnetVersion: 'net8'
netfx:
dotnetVersion: 'netfx'
@@ -30,7 +30,9 @@ jobs:
inputs:
command: build
arguments: '-c Release'
- projects: DotNetWorker.sln
+ projects: |
+ DotNetWorker.sln
+ DotNetWorker.Extensions.sln
- template: /eng/ci/templates/steps/setup-e2e-tests.yml@self
parameters:
@@ -42,7 +44,20 @@ jobs:
displayName: 'Run E2E Tests'
inputs:
command: test
- arguments: -v n --no-build -c Release
+ arguments: -v n --no-build -c Release --filter "FullyQualifiedName!~Microsoft.Azure.Functions.Worker.E2ETests.AspNetCore" # skip AspNetCore tests
+ projects: |
+ **/E2ETests.csproj
+ **/Sdk.E2ETests.csproj
+ env:
+ DOTNET_VERSION: $(dotnetVersion)
+
+ - task: DotNetCoreCLI@2
+ displayName: 'Run E2E AspNetCore Tests'
+ condition: ne(variables['dotnetVersion'], 'netfx') # Skip if dotnetVersion is netfx
+ inputs:
+ command: test
+ arguments: -v n --no-build -c Release --filter "FullyQualifiedName~Microsoft.Azure.Functions.Worker.E2ETests.AspNetCore" # only AspNetCore tests
projects: |
- **\E2ETests.csproj
- **\SdkE2ETests.csproj
+ **/E2ETests.csproj
+ env:
+ DOTNET_VERSION: $(dotnetVersion)
diff --git a/eng/ci/templates/jobs/run-unit-tests.yml b/eng/ci/templates/jobs/run-unit-tests.yml
index 241359e64..b96ccb0ea 100644
--- a/eng/ci/templates/jobs/run-unit-tests.yml
+++ b/eng/ci/templates/jobs/run-unit-tests.yml
@@ -1,5 +1,5 @@
parameters:
- name: PoolName
+- name: PoolName
type: string
jobs:
@@ -30,7 +30,7 @@ jobs:
command: test
arguments: -v n
projects: |
- **\DotNetWorkerTests.csproj
+ **/DotNetWorkerTests.csproj
- task: DotNetCoreCLI@2
displayName: OpenTelemetry Tests
@@ -38,7 +38,7 @@ jobs:
command: test
arguments: -v n
projects: |
- **\DotNetWorker.Opentelemetry.Tests.csproj
+ **/DotNetWorker.OpenTelemetry.Tests.csproj
- task: DotNetCoreCLI@2
displayName: Sdk Tests
@@ -46,9 +46,8 @@ jobs:
command: test
arguments: -v n
projects: |
- **\SdkTests.csproj
- **\Sdk.Analyzers.Tests.csproj
- **\Sdk.Generator.Tests.csproj
+ **/Sdk.Analyzers.Tests.csproj
+ **/Sdk.Generator.Tests.csproj
- task: DotNetCoreCLI@2
displayName: Extension Tests
@@ -56,8 +55,8 @@ jobs:
command: test
arguments: -v n
projects: |
- **\Worker.Extensions.Http.AspNetCore.Tests.csproj
- **\Worker.Extensions.Rpc.Tests.csproj
- **\Worker.Extensions.Shared.Tests.csproj
- **\Worker.Extensions.SignalRService.Tests.csproj
- **\Worker.Extensions.Tests.csproj
+ **/Worker.Extensions.Http.AspNetCore.Tests.csproj
+ **/Worker.Extensions.Rpc.Tests.csproj
+ **/Worker.Extensions.Shared.Tests.csproj
+ **/Worker.Extensions.SignalRService.Tests.csproj
+ **/Worker.Extensions.Tests.csproj
diff --git a/eng/ci/templates/official/jobs/build-artifacts.yml b/eng/ci/templates/official/jobs/build-artifacts.yml
index 887d2912d..671ed8052 100644
--- a/eng/ci/templates/official/jobs/build-artifacts.yml
+++ b/eng/ci/templates/official/jobs/build-artifacts.yml
@@ -17,7 +17,7 @@ jobs:
os: windows
variables:
- ${{ if and( not(contains(variables['Build.SourceBranch'], '/release/')), not(startsWith(variables['Build.SourceBranch'], 'refs/tags')) ) }}:
+ ${{ if and( not(startsWith(variables['Build.SourceBranch'], 'refs/heads/release/')), not(startsWith(variables['Build.SourceBranch'], 'refs/tags')) ) }}:
buildNumberTemp: $(Build.BuildNumber)
buildNumber: $[variables.buildNumberTemp]
diff --git a/eng/ci/templates/official/jobs/build-host-prelaunch-artifacts.yml b/eng/ci/templates/official/jobs/build-host-prelaunch-artifacts.yml
index 9596cc439..ca62400d1 100644
--- a/eng/ci/templates/official/jobs/build-host-prelaunch-artifacts.yml
+++ b/eng/ci/templates/official/jobs/build-host-prelaunch-artifacts.yml
@@ -12,7 +12,7 @@ jobs:
artifact: _preLaunchAppPackages
variables:
- dotnetVersions: 'net8.0,net7.0,net6.0'
+ dotnetVersions: 'net9.0,net8.0,net6.0'
steps:
- template: /eng/ci/templates/steps/install-dotnet.yml@self
@@ -25,5 +25,5 @@ jobs:
publishWebProjects: false
zipAfterPublish: false
modifyOutputPath: false
- arguments: -c Release -o $(Build.ArtifactStagingDirectory)/_preLaunchAppPackages/${{ version }} -f ${{ version }} -p:UseAppHost=false
+ arguments: -c Release -o $(Build.ArtifactStagingDirectory)/_preLaunchAppPackages/${{ replace(version, 'net', '') }} -f ${{ version }} -p:UseAppHost=false
projects: host/src/PrelaunchApp/App.csproj
diff --git a/eng/ci/templates/pipelines/release-extension-packages.yml b/eng/ci/templates/pipelines/release-extension-packages.yml
new file mode 100644
index 000000000..708e050ab
--- /dev/null
+++ b/eng/ci/templates/pipelines/release-extension-packages.yml
@@ -0,0 +1,87 @@
+parameters:
+- name: publishToNugetOrg
+ type: boolean
+- name: artifactName
+ type: string
+ default: NugetPackages
+- name: targetFolder
+ type: string
+ default: ''
+
+resources:
+ repositories:
+ - repository: 1es
+ type: git
+ name: 1ESPipelineTemplates/1ESPipelineTemplates
+ ref: refs/tags/release
+ - repository: eng
+ type: git
+ name: engineering
+ ref: refs/tags/release
+
+extends:
+ template: v1/1ES.Official.PipelineTemplate.yml@1es
+ parameters:
+ pool:
+ name: 1es-pool-azfunc
+ image: 1es-ubuntu-22.04
+ os: linux
+
+ stages:
+
+ - stage: Prepare
+ jobs:
+ - job: Prepare
+
+ variables:
+ - template: ci/variables/cfs.yml@eng
+ - name: drop_path
+ value: $(Pipeline.Workspace)/build/${{ parameters.artifactName }}
+
+ templateContext:
+ type: validationJob
+
+ steps:
+ - checkout: none
+
+ # validationJob uses retail artifact inputs
+ - download: build
+ artifact: ${{ parameters.artifactName }}
+
+ # For extension releases, we assume the first package (alphanumerically) in the drop is the one we want to version off of.
+ # This is a bit of a hack, but it works for our current setup.
+ # We use a regex to extract the version from the package name and set it as the build number.
+ - pwsh: |
+ $ErrorActionPreference = 'Stop'
+ $packages = Get-ChildItem -Path $(drop_path) -Filter *.nupkg -Recurse
+ $name = $packages[0].Name
+ Write-Host "Getting version for $name"
+ $version = [Regex]::Match($name, '(\d+\.\d+\.\d+(?:\.\d+)?(?:-[\w\.].*)?)(?=\.nupkg$)').Value
+ Write-Host "##vso[build.updatebuildnumber]$version"
+ displayName: Get package version
+
+ - stage: Release
+ dependsOn: Prepare
+
+ variables:
+ - template: ci/variables/cfs.yml@eng
+ - name: target_folder
+ readonly: true
+ ${{ if ne(parameters.targetFolder, '') }}:
+ value: ${{ parameters.targetFolder }}
+ ${{ else }}:
+ value: $[ replace(replace(replace(variables['resources.pipeline.build.pipelineName'], 'extensions.', ''), '.official', ''), '.', '-') ]
+
+ jobs:
+ - template: /ci/release-nuget-package.yml@eng
+ parameters:
+ isProduction: true
+ approvers: '[internal]\Azure Functions Core'
+ stagingFeed: public/pre-release
+ artifact:
+ name: NugetPackages
+ pipeline: build
+ ${{ if eq(parameters.publishToNugetOrg, true) }}:
+ partnerDrop:
+ serviceConnection: azure-sdk-partner-drops
+ targetFolder: azure-functions/dotnet/worker-extensions/$(target_folder)/$(Build.BuildNumber)
diff --git a/eng/ci/templates/steps/install-dotnet.yml b/eng/ci/templates/steps/install-dotnet.yml
index f373c934f..139c7aeb6 100644
--- a/eng/ci/templates/steps/install-dotnet.yml
+++ b/eng/ci/templates/steps/install-dotnet.yml
@@ -1,19 +1,15 @@
steps:
-- task: UseDotNet@2 # Needed by our projects and CI steps
- displayName: Install .NET 6
+# Our tests target net8.0
+- task: UseDotNet@2
+ displayName: 'Install .NET8 SDK'
inputs:
- packageType: sdk
- version: 6.x
+ packageType: 'sdk'
+ version: "8.x"
-- task: UseDotNet@2 # Needed by our projects and CI steps
- displayName: Install .NET 7
+# The SDK we use to build
+- task: UseDotNet@2
+ displayName: 'Install current .NET SDK'
inputs:
- packageType: sdk
- version: 7.x
-
-- task: UseDotNet@2 # The pinned SDK we use to build
- displayName: Install .NET SDK from global.json
- inputs:
- packageType: sdk
+ packageType: 'sdk'
useGlobalJson: true
diff --git a/extensions/Worker.Extensions.Abstractions/ci/official-build.yml b/extensions/Worker.Extensions.Abstractions/ci/official-build.yml
index f0187b3b0..4b87a0f57 100644
--- a/extensions/Worker.Extensions.Abstractions/ci/official-build.yml
+++ b/extensions/Worker.Extensions.Abstractions/ci/official-build.yml
@@ -35,8 +35,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc
diff --git a/extensions/Worker.Extensions.Abstractions/ci/official-release.yml b/extensions/Worker.Extensions.Abstractions/ci/official-release.yml
new file mode 100644
index 000000000..82814651b
--- /dev/null
+++ b/extensions/Worker.Extensions.Abstractions/ci/official-release.yml
@@ -0,0 +1,18 @@
+parameters:
+- name: publishToNugetOrg
+ displayName: Publish to nuget.org?
+ type: boolean
+ default: false
+
+pr: none
+trigger: none
+
+resources:
+ pipelines:
+ - pipeline: build
+ source: extensions.abstractions.official
+
+extends:
+ template: /eng/ci/templates/pipelines/release-extension-packages.yml@self
+ parameters:
+ publishToNugetOrg: ${{ parameters.publishToNugetOrg }}
diff --git a/extensions/Worker.Extensions.Abstractions/ci/public-build.yml b/extensions/Worker.Extensions.Abstractions/ci/public-build.yml
index 4795d120a..1034d2b13 100644
--- a/extensions/Worker.Extensions.Abstractions/ci/public-build.yml
+++ b/extensions/Worker.Extensions.Abstractions/ci/public-build.yml
@@ -42,8 +42,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc-public
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc-public
diff --git a/extensions/Worker.Extensions.CosmosDB/ci/official-build.yml b/extensions/Worker.Extensions.CosmosDB/ci/official-build.yml
index abbd4ab68..86938faf6 100644
--- a/extensions/Worker.Extensions.CosmosDB/ci/official-build.yml
+++ b/extensions/Worker.Extensions.CosmosDB/ci/official-build.yml
@@ -35,8 +35,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc
diff --git a/extensions/Worker.Extensions.CosmosDB/ci/official-release.yml b/extensions/Worker.Extensions.CosmosDB/ci/official-release.yml
new file mode 100644
index 000000000..543ffb0fa
--- /dev/null
+++ b/extensions/Worker.Extensions.CosmosDB/ci/official-release.yml
@@ -0,0 +1,18 @@
+parameters:
+- name: publishToNugetOrg
+ displayName: Publish to nuget.org?
+ type: boolean
+ default: false
+
+pr: none
+trigger: none
+
+resources:
+ pipelines:
+ - pipeline: build
+ source: extensions.cosmos.official
+
+extends:
+ template: /eng/ci/templates/pipelines/release-extension-packages.yml@self
+ parameters:
+ publishToNugetOrg: ${{ parameters.publishToNugetOrg }}
diff --git a/extensions/Worker.Extensions.CosmosDB/ci/public-build.yml b/extensions/Worker.Extensions.CosmosDB/ci/public-build.yml
index 70c836505..3e44bd491 100644
--- a/extensions/Worker.Extensions.CosmosDB/ci/public-build.yml
+++ b/extensions/Worker.Extensions.CosmosDB/ci/public-build.yml
@@ -42,8 +42,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc-public
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc-public
diff --git a/extensions/Worker.Extensions.CosmosDB/release_notes.md b/extensions/Worker.Extensions.CosmosDB/release_notes.md
index 41b9b3e1f..b9c7c90b7 100644
--- a/extensions/Worker.Extensions.CosmosDB/release_notes.md
+++ b/extensions/Worker.Extensions.CosmosDB/release_notes.md
@@ -4,7 +4,6 @@
- My change description (#PR/#issue)
-->
-### Microsoft.Azure.Functions.Worker.Extensions.CosmosDB 4.11.0
+### Microsoft.Azure.Functions.Worker.Extensions.CosmosDB <4.14.0>
-- Updated `Microsoft.Azure.WebJobs.Extensions.CosmosDB` reference to 4.8.0
-- Updated `Microsoft.Extensions.Azure` dependency to 1.7.5
+- Updates dependency `Microsoft.Azure.WebJobs.Extensions.CosmosDB` to version 4.11.0 (#3191)
diff --git a/extensions/Worker.Extensions.CosmosDB/src/CosmosDBConverter.cs b/extensions/Worker.Extensions.CosmosDB/src/CosmosDBConverter.cs
index aeeb881d0..cc7274201 100644
--- a/extensions/Worker.Extensions.CosmosDB/src/CosmosDBConverter.cs
+++ b/extensions/Worker.Extensions.CosmosDB/src/CosmosDBConverter.cs
@@ -58,6 +58,10 @@ private async ValueTask ConvertFromBindingDataAsync(ConverterC
return ConversionResult.Success(result);
}
+ catch (CosmosException ex) when (ex.StatusCode == System.Net.HttpStatusCode.NotFound)
+ {
+ return ConversionResult.Success(null);
+ }
catch (Exception ex)
{
return ConversionResult.Failed(ex);
diff --git a/extensions/Worker.Extensions.CosmosDB/src/Worker.Extensions.CosmosDB.csproj b/extensions/Worker.Extensions.CosmosDB/src/Worker.Extensions.CosmosDB.csproj
index 93bfdf713..1d0b09477 100644
--- a/extensions/Worker.Extensions.CosmosDB/src/Worker.Extensions.CosmosDB.csproj
+++ b/extensions/Worker.Extensions.CosmosDB/src/Worker.Extensions.CosmosDB.csproj
@@ -6,7 +6,7 @@
Azure Cosmos DB extensions for .NET isolated functions
- 4.11.0
+ 4.14.0
false
@@ -14,24 +14,24 @@
+
+
+
+
-
+
+
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/extensions/Worker.Extensions.EventGrid/ci/official-build.yml b/extensions/Worker.Extensions.EventGrid/ci/official-build.yml
index 507328f57..613efd388 100644
--- a/extensions/Worker.Extensions.EventGrid/ci/official-build.yml
+++ b/extensions/Worker.Extensions.EventGrid/ci/official-build.yml
@@ -35,8 +35,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc
diff --git a/extensions/Worker.Extensions.EventGrid/ci/official-release.yml b/extensions/Worker.Extensions.EventGrid/ci/official-release.yml
new file mode 100644
index 000000000..f8d006ca8
--- /dev/null
+++ b/extensions/Worker.Extensions.EventGrid/ci/official-release.yml
@@ -0,0 +1,18 @@
+parameters:
+- name: publishToNugetOrg
+ displayName: Publish to nuget.org?
+ type: boolean
+ default: false
+
+pr: none
+trigger: none
+
+resources:
+ pipelines:
+ - pipeline: build
+ source: extensions.eventgrid.official
+
+extends:
+ template: /eng/ci/templates/pipelines/release-extension-packages.yml@self
+ parameters:
+ publishToNugetOrg: ${{ parameters.publishToNugetOrg }}
diff --git a/extensions/Worker.Extensions.EventGrid/ci/public-build.yml b/extensions/Worker.Extensions.EventGrid/ci/public-build.yml
index d95e3f1e2..ebb41e23c 100644
--- a/extensions/Worker.Extensions.EventGrid/ci/public-build.yml
+++ b/extensions/Worker.Extensions.EventGrid/ci/public-build.yml
@@ -42,8 +42,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc-public
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc-public
diff --git a/extensions/Worker.Extensions.EventGrid/release_notes.md b/extensions/Worker.Extensions.EventGrid/release_notes.md
index 5adb0df77..755c456b7 100644
--- a/extensions/Worker.Extensions.EventGrid/release_notes.md
+++ b/extensions/Worker.Extensions.EventGrid/release_notes.md
@@ -4,6 +4,6 @@
- My change description (#PR/#issue)
-->
-### Microsoft.Azure.Functions.Worker.Extensions.EventGrid 3.4.2
+### Microsoft.Azure.Functions.Worker.Extensions.EventGrid
-- Updated `Microsoft.Azure.WebJobs.Extensions.EventGrid` reference to 3.4.2
+-
\ No newline at end of file
diff --git a/extensions/Worker.Extensions.EventGrid/src/Worker.Extensions.EventGrid.csproj b/extensions/Worker.Extensions.EventGrid/src/Worker.Extensions.EventGrid.csproj
index 35443895d..d4f94c919 100644
--- a/extensions/Worker.Extensions.EventGrid/src/Worker.Extensions.EventGrid.csproj
+++ b/extensions/Worker.Extensions.EventGrid/src/Worker.Extensions.EventGrid.csproj
@@ -6,7 +6,7 @@
Azure Event Grid extensions for .NET isolated functions
- 3.4.2
+ 3.6.0
false
@@ -16,15 +16,15 @@
-
-
+
+
-
+
\ No newline at end of file
diff --git a/extensions/Worker.Extensions.EventHubs/ci/official-build.yml b/extensions/Worker.Extensions.EventHubs/ci/official-build.yml
index 27e2f92a4..8c9ac6cc5 100644
--- a/extensions/Worker.Extensions.EventHubs/ci/official-build.yml
+++ b/extensions/Worker.Extensions.EventHubs/ci/official-build.yml
@@ -35,8 +35,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc
diff --git a/extensions/Worker.Extensions.EventHubs/ci/official-release.yml b/extensions/Worker.Extensions.EventHubs/ci/official-release.yml
new file mode 100644
index 000000000..7ea6fd52e
--- /dev/null
+++ b/extensions/Worker.Extensions.EventHubs/ci/official-release.yml
@@ -0,0 +1,18 @@
+parameters:
+- name: publishToNugetOrg
+ displayName: Publish to nuget.org?
+ type: boolean
+ default: false
+
+pr: none
+trigger: none
+
+resources:
+ pipelines:
+ - pipeline: build
+ source: extensions.eventhubs.official
+
+extends:
+ template: /eng/ci/templates/pipelines/release-extension-packages.yml@self
+ parameters:
+ publishToNugetOrg: ${{ parameters.publishToNugetOrg }}
diff --git a/extensions/Worker.Extensions.EventHubs/ci/public-build.yml b/extensions/Worker.Extensions.EventHubs/ci/public-build.yml
index ef68d1e36..5908bdc6d 100644
--- a/extensions/Worker.Extensions.EventHubs/ci/public-build.yml
+++ b/extensions/Worker.Extensions.EventHubs/ci/public-build.yml
@@ -42,8 +42,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc-public
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc-public
diff --git a/extensions/Worker.Extensions.EventHubs/release_notes.md b/extensions/Worker.Extensions.EventHubs/release_notes.md
index 3d9324175..c01c394dc 100644
--- a/extensions/Worker.Extensions.EventHubs/release_notes.md
+++ b/extensions/Worker.Extensions.EventHubs/release_notes.md
@@ -4,6 +4,6 @@
- My change description (#PR/#issue)
-->
-### Microsoft.Azure.Functions.Worker.Extensions.EventHubs 6.3.6
+### Microsoft.Azure.Functions.Worker.Extensions.EventHubs 6.5.1
-- Updated `Microsoft.Extensions.Azure` reference to 1.7.5
+- updating `Azure.Messaging.EventHubs` to 5.12.2 (#3189)
diff --git a/extensions/Worker.Extensions.EventHubs/src/Worker.Extensions.EventHubs.csproj b/extensions/Worker.Extensions.EventHubs/src/Worker.Extensions.EventHubs.csproj
index 48fc0247e..b9fdafa8a 100644
--- a/extensions/Worker.Extensions.EventHubs/src/Worker.Extensions.EventHubs.csproj
+++ b/extensions/Worker.Extensions.EventHubs/src/Worker.Extensions.EventHubs.csproj
@@ -6,20 +6,20 @@
Azure Event Hubs extensions for .NET isolated functions
- 6.3.6
+ 6.5.1
-
-
+
-
-
+
+
+
@@ -27,7 +27,7 @@
-
+
\ No newline at end of file
diff --git a/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/CodeFixForHttpResultAttributeExpected.cs b/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/CodeFixForHttpResultAttributeExpected.cs
index df004ca11..e38e2ee5d 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/CodeFixForHttpResultAttributeExpected.cs
+++ b/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/CodeFixForHttpResultAttributeExpected.cs
@@ -64,8 +64,18 @@ protected override async Task GetChangedDocumentAsync(CancellationToke
var typeNode = root.FindNode(this._diagnostic.Location.SourceSpan)
.FirstAncestorOrSelf();
-
var typeSymbol = semanticModel.GetSymbolInfo(typeNode).Symbol;
+
+ if (typeSymbol is null)
+ {
+ return _document;
+ }
+
+ if (SymbolUtils.TryUnwrapTaskOfT(typeSymbol, semanticModel, out var innerSymbol))
+ {
+ typeSymbol = innerSymbol;
+ }
+
var typeDeclarationSyntaxReference = typeSymbol.DeclaringSyntaxReferences.FirstOrDefault();
if (typeDeclarationSyntaxReference is null)
{
diff --git a/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/HttpResultAttributeExpectedAnalyzer.cs b/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/HttpResultAttributeExpectedAnalyzer.cs
index 20484ddda..877ffc27a 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/HttpResultAttributeExpectedAnalyzer.cs
+++ b/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/HttpResultAttributeExpectedAnalyzer.cs
@@ -61,6 +61,16 @@ private static void AnalyzeMethod(SyntaxNodeAnalysisContext context)
var returnType = methodDeclaration.ReturnType;
var returnTypeSymbol = semanticModel.GetTypeInfo(returnType).Type;
+ if (returnTypeSymbol is null)
+ {
+ return;
+ }
+
+ if (SymbolUtils.TryUnwrapTaskOfT(returnTypeSymbol, semanticModel, out var innerSymbol))
+ {
+ returnTypeSymbol = innerSymbol;
+ }
+
if (IsHttpReturnType(returnTypeSymbol, semanticModel))
{
return;
diff --git a/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/SymbolUtils.cs b/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/SymbolUtils.cs
new file mode 100644
index 000000000..c7a1dbe47
--- /dev/null
+++ b/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/SymbolUtils.cs
@@ -0,0 +1,30 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+
+using Microsoft.CodeAnalysis;
+
+namespace Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore
+{
+ internal class SymbolUtils
+ {
+ private static string TaskWrapperTypeName = "System.Threading.Tasks.Task`1";
+
+ internal static bool TryUnwrapTaskOfT(ISymbol symbol, SemanticModel semanticModel, out ITypeSymbol resultSymbol)
+ {
+ var taskType = semanticModel.Compilation.GetTypeByMetadataName(TaskWrapperTypeName);
+
+ resultSymbol = null;
+
+ if (symbol is INamedTypeSymbol namedTypeSymbol &&
+ namedTypeSymbol.ConstructedFrom is not null &&
+ SymbolEqualityComparer.Default.Equals(namedTypeSymbol.ConstructedFrom, taskType) &&
+ namedTypeSymbol.TypeArguments.Length == 1)
+ {
+ resultSymbol = namedTypeSymbol.TypeArguments[0];
+ return true;
+ }
+
+ return false;
+ }
+ }
+}
diff --git a/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/Worker.Extensions.Http.AspNetCore.Analyzers.csproj b/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/Worker.Extensions.Http.AspNetCore.Analyzers.csproj
index 6d37a744e..ae5e5b0ae 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/Worker.Extensions.Http.AspNetCore.Analyzers.csproj
+++ b/extensions/Worker.Extensions.Http.AspNetCore.Analyzers/src/Worker.Extensions.Http.AspNetCore.Analyzers.csproj
@@ -1,7 +1,7 @@
- 1.0.3
+ 1.0.4
Library
true
false
diff --git a/extensions/Worker.Extensions.Http.AspNetCore/ci/official-build.yml b/extensions/Worker.Extensions.Http.AspNetCore/ci/official-build.yml
index 170ccb457..38abcaf38 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore/ci/official-build.yml
+++ b/extensions/Worker.Extensions.Http.AspNetCore/ci/official-build.yml
@@ -36,8 +36,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc
diff --git a/extensions/Worker.Extensions.Http.AspNetCore/ci/official-release.yml b/extensions/Worker.Extensions.Http.AspNetCore/ci/official-release.yml
new file mode 100644
index 000000000..bd711f136
--- /dev/null
+++ b/extensions/Worker.Extensions.Http.AspNetCore/ci/official-release.yml
@@ -0,0 +1,18 @@
+parameters:
+- name: publishToNugetOrg
+ displayName: Publish to nuget.org?
+ type: boolean
+ default: false
+
+pr: none
+trigger: none
+
+resources:
+ pipelines:
+ - pipeline: build
+ source: extensions.http.aspnetcore.official
+
+extends:
+ template: /eng/ci/templates/pipelines/release-extension-packages.yml@self
+ parameters:
+ publishToNugetOrg: ${{ parameters.publishToNugetOrg }}
diff --git a/extensions/Worker.Extensions.Http.AspNetCore/ci/public-build.yml b/extensions/Worker.Extensions.Http.AspNetCore/ci/public-build.yml
index 6e712e2aa..81e472b94 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore/ci/public-build.yml
+++ b/extensions/Worker.Extensions.Http.AspNetCore/ci/public-build.yml
@@ -44,8 +44,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc-public
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc-public
diff --git a/extensions/Worker.Extensions.Http.AspNetCore/release_notes.md b/extensions/Worker.Extensions.Http.AspNetCore/release_notes.md
index f73515feb..459b597e3 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore/release_notes.md
+++ b/extensions/Worker.Extensions.Http.AspNetCore/release_notes.md
@@ -6,7 +6,8 @@
### Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore
-- Addressing fix for AspNetCoreResponseCookies cookie defaults (#2811)
+- Updating ASP.NET Core integration to support the metadata transformation feature (#3172)
### Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore.Analyzers
+-
diff --git a/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/FunctionsEndpointDataSource.cs b/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/FunctionsEndpointDataSource.cs
index 4590f6336..73276df24 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/FunctionsEndpointDataSource.cs
+++ b/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/FunctionsEndpointDataSource.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections.Generic;
using System.IO;
using System.Text.Json;
@@ -17,20 +17,22 @@ internal class FunctionsEndpointDataSource : EndpointDataSource
private const string HostJsonFileName = "host.json";
private const string DefaultRoutePrefix = "api";
- private readonly IFunctionMetadataProvider _functionMetadataProvider;
+ private readonly IFunctionMetadataManager _functionMetadataManager;
private readonly object _lock = new();
private static readonly JsonSerializerOptions _jsonSerializerOptions = new()
{
- PropertyNameCaseInsensitive = true
+ AllowTrailingCommas = true,
+ PropertyNameCaseInsensitive = true,
+ ReadCommentHandling = JsonCommentHandling.Skip,
};
private List? _endpoints;
- public FunctionsEndpointDataSource(IFunctionMetadataProvider functionMetadataProvider)
+ public FunctionsEndpointDataSource(IFunctionMetadataManager functionMetadataManager)
{
- _functionMetadataProvider = functionMetadataProvider ?? throw new ArgumentNullException(nameof(functionMetadataProvider));
+ _functionMetadataManager = functionMetadataManager ?? throw new ArgumentNullException(nameof(functionMetadataManager));
}
public override IReadOnlyList Endpoints
@@ -56,7 +58,7 @@ private List BuildEndpoints()
string scriptRoot = Environment.GetEnvironmentVariable(FunctionsApplicationDirectoryKey) ??
throw new InvalidOperationException("Cannot determine script root directory.");
- var metadata = _functionMetadataProvider.GetFunctionMetadataAsync(scriptRoot).GetAwaiter().GetResult();
+ var metadata = _functionMetadataManager.GetFunctionMetadataAsync(scriptRoot).GetAwaiter().GetResult();
string routePrefix = GetRoutePrefixFromHostJson(scriptRoot) ?? DefaultRoutePrefix;
diff --git a/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/FunctionsHttpContextExtensions.cs b/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/FunctionsHttpContextExtensions.cs
index a1b0bd2a2..aa8c8a835 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/FunctionsHttpContextExtensions.cs
+++ b/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/FunctionsHttpContextExtensions.cs
@@ -14,7 +14,7 @@ internal static Task InvokeFunctionAsync(this HttpContext context)
{
var coordinator = context.RequestServices.GetRequiredService();
context.Request.Headers.TryGetValue(Constants.CorrelationHeader, out StringValues invocationId);
- return coordinator.RunFunctionInvocationAsync(invocationId);
+ return coordinator.RunFunctionInvocationAsync(invocationId!); // will fail later if null.
}
}
}
diff --git a/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/WorkerRequestServicesMiddleware.cs b/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/WorkerRequestServicesMiddleware.cs
index 8fa0e583d..36073af78 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/WorkerRequestServicesMiddleware.cs
+++ b/extensions/Worker.Extensions.Http.AspNetCore/src/AspNetMiddleware/WorkerRequestServicesMiddleware.cs
@@ -25,7 +25,7 @@ public async Task Invoke(HttpContext context)
throw new InvalidOperationException($"Expected correlation id header ('{Constants.CorrelationHeader}') not present");
}
- FunctionContext functionContext = await _coordinator.SetHttpContextAsync(invocationId, context);
+ FunctionContext functionContext = await _coordinator.SetHttpContextAsync(invocationId!, context);
// Explicitly set the RequestServices to prevent a new scope from being created internally.
// This also prevents the scope from being disposed when the request is complete. We want this to
diff --git a/extensions/Worker.Extensions.Http.AspNetCore/src/Coordinator/ContextReference.cs b/extensions/Worker.Extensions.Http.AspNetCore/src/Coordinator/ContextReference.cs
index ddaac3487..9dcd8b026 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore/src/Coordinator/ContextReference.cs
+++ b/extensions/Worker.Extensions.Http.AspNetCore/src/Coordinator/ContextReference.cs
@@ -8,7 +8,7 @@
namespace Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore
{
- internal class ContextReference : IDisposable
+ internal class ContextReference
{
private readonly TaskCompletionSource _functionStartTask = new();
private readonly TaskCompletionSource _functionCompletionTask = new();
@@ -16,9 +16,6 @@ internal class ContextReference : IDisposable
private TaskCompletionSource _httpContextValueSource = new();
private TaskCompletionSource _functionContextValueSource = new();
- private CancellationToken _token;
- private CancellationTokenRegistration _tokenRegistration;
-
public ContextReference(string invocationId)
{
InvocationId = invocationId;
@@ -32,18 +29,6 @@ public ContextReference(string invocationId)
public TaskCompletionSource FunctionContextValueSource { get => _functionContextValueSource; set => _functionContextValueSource = value; }
- internal void SetCancellationToken(CancellationToken token)
- {
- _token = token;
- _tokenRegistration = _token.Register(() =>
- {
- _functionStartTask.TrySetCanceled();
- _functionCompletionTask.TrySetCanceled();
- _functionContextValueSource.TrySetCanceled();
- _httpContextValueSource.TrySetCanceled();
- });
- }
-
internal Task InvokeFunctionAsync()
{
_functionStartTask.SetResult(true);
@@ -59,27 +44,12 @@ internal void CompleteFunction()
if (_httpContextValueSource.Task.IsCompleted)
{
- if (_httpContextValueSource.Task.IsCanceled || _token.IsCancellationRequested)
- {
- _functionCompletionTask.TrySetCanceled();
- }
- else
- {
- _functionCompletionTask.TrySetResult(true);
- }
+ _functionCompletionTask.TrySetResult(true);
}
else
{
// we should never reach here b/c the class that calls this needs httpContextValueSource to complete to reach this method
}
}
-
- public void Dispose()
- {
- if (_tokenRegistration != default)
- {
- _tokenRegistration.Dispose();
- }
- }
}
}
diff --git a/extensions/Worker.Extensions.Http.AspNetCore/src/Coordinator/DefaultHttpCoordinator.cs b/extensions/Worker.Extensions.Http.AspNetCore/src/Coordinator/DefaultHttpCoordinator.cs
index cbe542cdf..9f9a5d69b 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore/src/Coordinator/DefaultHttpCoordinator.cs
+++ b/extensions/Worker.Extensions.Http.AspNetCore/src/Coordinator/DefaultHttpCoordinator.cs
@@ -1,4 +1,4 @@
-// Copyright (c) .NET Foundation. All rights reserved.
+// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
using System;
@@ -44,7 +44,6 @@ public async Task SetHttpContextAsync(string invocationId, Http
public async Task SetFunctionContextAsync(string invocationId, FunctionContext context)
{
var contextRef = _contextReferenceList.GetOrAdd(invocationId, static id => new ContextReference(id));
- contextRef.SetCancellationToken(context.CancellationToken);
contextRef.FunctionContextValueSource.SetResult(context);
_logger.FunctionContextSet(invocationId);
@@ -85,7 +84,6 @@ public void CompleteFunctionInvocation(string invocationId)
if (_contextReferenceList.TryRemove(invocationId, out var contextRef))
{
contextRef.CompleteFunction();
- contextRef.Dispose();
}
else
{
diff --git a/extensions/Worker.Extensions.Http.AspNetCore/src/FunctionsApplicationBuilderAspNetCoreExtensions.cs b/extensions/Worker.Extensions.Http.AspNetCore/src/FunctionsApplicationBuilderAspNetCoreExtensions.cs
new file mode 100644
index 000000000..0e241a282
--- /dev/null
+++ b/extensions/Worker.Extensions.Http.AspNetCore/src/FunctionsApplicationBuilderAspNetCoreExtensions.cs
@@ -0,0 +1,23 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+
+using Microsoft.Extensions.Hosting;
+
+namespace Microsoft.Azure.Functions.Worker.Builder;
+
+///
+/// ASP.NET Core extensions for .
+///
+public static class FunctionsApplicationBuilderAspNetCoreExtensions
+{
+ ///
+ /// Configures the worker to use the ASP.NET Core integration, enabling advanced HTTP features.
+ ///
+ /// The to configure.
+ /// The for chaining.
+ public static FunctionsApplicationBuilder ConfigureFunctionsWebApplication(this FunctionsApplicationBuilder builder)
+ {
+ builder.HostBuilder.ConfigureFunctionsWebApplication();
+ return builder;
+ }
+}
diff --git a/extensions/Worker.Extensions.Http.AspNetCore/src/FunctionsMiddleware/FunctionsHttpProxyingMiddleware.cs b/extensions/Worker.Extensions.Http.AspNetCore/src/FunctionsMiddleware/FunctionsHttpProxyingMiddleware.cs
index 83dbaeac0..15afd4bf7 100644
--- a/extensions/Worker.Extensions.Http.AspNetCore/src/FunctionsMiddleware/FunctionsHttpProxyingMiddleware.cs
+++ b/extensions/Worker.Extensions.Http.AspNetCore/src/FunctionsMiddleware/FunctionsHttpProxyingMiddleware.cs
@@ -9,8 +9,8 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Abstractions;
using Microsoft.AspNetCore.Routing;
-using Microsoft.Azure.Functions.Worker.Extensions.Http.Converters;
using Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore.Infrastructure;
+using Microsoft.Azure.Functions.Worker.Extensions.Http.Converters;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Azure.Functions.Worker.Middleware;
using Microsoft.Extensions.DependencyInjection;
@@ -85,6 +85,9 @@ private static async Task TryHandleHttpResult(object? result, FunctionCont
// processing is required.
context.GetInvocationResult().Value = null;
break;
+ case AspNetCoreHttpResponseData when !isInvocationResult:
+ ClearHttpOutputBinding(context);
+ break;
case IResult iResult:
await iResult.ExecuteAsync(httpContext);
break;
@@ -105,6 +108,17 @@ private static Task TryHandleOutputBindingsHttpResult(FunctionContext cont
: TryHandleHttpResult(httpOutputBinding.Value, context, httpContext);
}
+ private static void ClearHttpOutputBinding(FunctionContext context)
+ {
+ var httpOutputBinding = context.GetOutputBindings
@@ -15,11 +15,15 @@
+
-
+
+
+
+
diff --git a/extensions/Worker.Extensions.Http/ci/official-build.yml b/extensions/Worker.Extensions.Http/ci/official-build.yml
index c6b93d56f..8abadd548 100644
--- a/extensions/Worker.Extensions.Http/ci/official-build.yml
+++ b/extensions/Worker.Extensions.Http/ci/official-build.yml
@@ -35,8 +35,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc
diff --git a/extensions/Worker.Extensions.Http/ci/official-release.yml b/extensions/Worker.Extensions.Http/ci/official-release.yml
new file mode 100644
index 000000000..c32ffd8b1
--- /dev/null
+++ b/extensions/Worker.Extensions.Http/ci/official-release.yml
@@ -0,0 +1,18 @@
+parameters:
+- name: publishToNugetOrg
+ displayName: Publish to nuget.org?
+ type: boolean
+ default: false
+
+pr: none
+trigger: none
+
+resources:
+ pipelines:
+ - pipeline: build
+ source: extensions.http.official
+
+extends:
+ template: /eng/ci/templates/pipelines/release-extension-packages.yml@self
+ parameters:
+ publishToNugetOrg: ${{ parameters.publishToNugetOrg }}
diff --git a/extensions/Worker.Extensions.Http/ci/public-build.yml b/extensions/Worker.Extensions.Http/ci/public-build.yml
index 58336e9f9..011ddfeae 100644
--- a/extensions/Worker.Extensions.Http/ci/public-build.yml
+++ b/extensions/Worker.Extensions.Http/ci/public-build.yml
@@ -42,8 +42,8 @@ extends:
parameters:
pool:
name: 1es-pool-azfunc-public
- image: 1es-ubuntu-22.04
- os: linux
+ image: 1es-windows-2022
+ os: windows
sdl:
sourceAnalysisPool:
name: 1es-pool-azfunc-public
diff --git a/extensions/Worker.Extensions.Http/release_notes.md b/extensions/Worker.Extensions.Http/release_notes.md
index 8f2985eb5..634fa5eb2 100644
--- a/extensions/Worker.Extensions.Http/release_notes.md
+++ b/extensions/Worker.Extensions.Http/release_notes.md
@@ -4,6 +4,6 @@
- My change description (#PR/#issue)
-->
-### Microsoft.Azure.Functions.Worker.Extensions.Http
+### Microsoft.Azure.Functions.Worker.Extensions.Http 3.3.0
-
diff --git a/extensions/Worker.Extensions.Http/src/DefaultFromBodyConversionFeature.cs b/extensions/Worker.Extensions.Http/src/DefaultFromBodyConversionFeature.cs
index c98d1950a..fbe9c95ba 100644
--- a/extensions/Worker.Extensions.Http/src/DefaultFromBodyConversionFeature.cs
+++ b/extensions/Worker.Extensions.Http/src/DefaultFromBodyConversionFeature.cs
@@ -2,6 +2,7 @@
// Licensed under the MIT License. See License.txt in the project root for license information.
using System;
+using System.IO;
using System.Linq;
using System.Net.Http.Headers;
using System.Threading;
@@ -46,44 +47,23 @@ internal class DefaultFromBodyConversionFeature : IFromBodyConversionFeature
return ConvertBodyAsync(requestData, context, targetType);
}
- private static ValueTask