Skip to content

Commit 7d03568

Browse files
committed
Add Ocelot auto-instrumentation
This resolves a reparenting issue when OpenTelemetry.Instrumentation.Http is present and running.
1 parent 774e7dd commit 7d03568

File tree

23 files changed

+1668
-762
lines changed

23 files changed

+1668
-762
lines changed

Datadog.Trace.sln

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Datadog.FeatureFlags.OpenFe
637637
EndProject
638638
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.LifetimeManager.TerminationSignals", "tracer\test\test-applications\integrations\Samples.LifetimeManager.TerminationSignals\Samples.LifetimeManager.TerminationSignals.csproj", "{0E3E1069-80FF-99C9-D29F-936D96D5F516}"
639639
EndProject
640+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.Ocelot.DistributedTracing", "tracer\test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj", "{08C6510D-42DC-C8B4-CC79-26349F2D6DBB}"
641+
EndProject
640642
Global
641643
GlobalSection(SolutionConfigurationPlatforms) = preSolution
642644
Debug|Any CPU = Debug|Any CPU
@@ -1549,6 +1551,10 @@ Global
15491551
{0E3E1069-80FF-99C9-D29F-936D96D5F516}.Debug|Any CPU.Build.0 = Debug|Any CPU
15501552
{0E3E1069-80FF-99C9-D29F-936D96D5F516}.Release|Any CPU.ActiveCfg = Release|Any CPU
15511553
{0E3E1069-80FF-99C9-D29F-936D96D5F516}.Release|Any CPU.Build.0 = Release|Any CPU
1554+
{08C6510D-42DC-C8B4-CC79-26349F2D6DBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1555+
{08C6510D-42DC-C8B4-CC79-26349F2D6DBB}.Debug|Any CPU.Build.0 = Debug|Any CPU
1556+
{08C6510D-42DC-C8B4-CC79-26349F2D6DBB}.Release|Any CPU.ActiveCfg = Release|Any CPU
1557+
{08C6510D-42DC-C8B4-CC79-26349F2D6DBB}.Release|Any CPU.Build.0 = Release|Any CPU
15521558
EndGlobalSection
15531559
GlobalSection(SolutionProperties) = preSolution
15541560
HideSolutionNode = FALSE
@@ -1801,6 +1807,7 @@ Global
18011807
{64258238-DE63-4A0F-A618-DF51735BA22A} = {8CEC2042-F11C-49F5-A674-2355793B600A}
18021808
{CFECF8D4-3A46-35A8-7CB1-BA359974A1A9} = {9E5F0022-0A50-40BF-AC6A-C3078585ECAB}
18031809
{0E3E1069-80FF-99C9-D29F-936D96D5F516} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
1810+
{08C6510D-42DC-C8B4-CC79-26349F2D6DBB} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
18041811
EndGlobalSection
18051812
GlobalSection(ExtensibilityGlobals) = postSolution
18061813
SolutionGuid = {160A1D00-1F5B-40F8-A155-621B4459D78F}
@@ -1962,5 +1969,6 @@ Global
19621969
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{fa487690-e88c-4a57-9187-b71cb70c1aae}*SharedItemsImports = 5
19631970
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{fab2b108-e5be-4647-869b-1dc5d362252e}*SharedItemsImports = 4
19641971
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{ff2e8dd2-ca25-4d53-a77c-9f88e41f8c98}*SharedItemsImports = 5
1972+
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{08c6510d-42dc-c8b4-cc79-26349f2d6dbb}*SharedItemsImports = 5
19651973
EndGlobalSection
19661974
EndGlobal

tracer/build/PackageVersionsGeneratorDefinitions.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -974,5 +974,29 @@
974974
"2.0.0",
975975
"2.10.0"
976976
]
977+
},
978+
{
979+
"IntegrationName": "Ocelot",
980+
"SampleProjectName": "Samples.Ocelot.DistributedTracing",
981+
"NugetPackageSearchName": "Ocelot",
982+
"MinVersion": "23.0.0",
983+
"MaxVersionExclusive": "25.0.0",
984+
"SpecificVersions": [
985+
"23.0.*",
986+
"23.4.*",
987+
"24.0.*",
988+
"24.1.*"
989+
],
990+
"VersionConditions": [
991+
{
992+
"MinVersion": "23.0.0",
993+
"MaxVersionExclusive": "24.0.0",
994+
"ExcludeTargetFrameworks": ["net48", "netcoreapp2.1", "netcoreapp3.0", "netcoreapp3.1", "net5.0", "net6.0", "net7.0", "net9.0", "net10.0"]
995+
},
996+
{
997+
"MinVersion": "24.0.0",
998+
"ExcludeTargetFrameworks": ["net48", "netcoreapp2.1", "netcoreapp3.0", "netcoreapp3.1", "net5.0", "net6.0", "net7.0"]
999+
}
1000+
]
9771001
}
9781002
]

tracer/build/PackageVersionsLatestMajors.g.props

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6726,5 +6726,29 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely
67266726
<RequiresDockerDependency>None</RequiresDockerDependency>
67276727
<SampleName>Samples.OpenFeature</SampleName>
67286728
</PackageVersionSample>
6729+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
6730+
<Properties>ApiVersion=23.4.3;RestoreRecursive=false;BuildProjectReferences=false</Properties>
6731+
<TargetFramework>net8.0</TargetFramework>
6732+
<RequiresDockerDependency>None</RequiresDockerDependency>
6733+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
6734+
</PackageVersionSample>
6735+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
6736+
<Properties>ApiVersion=24.1.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
6737+
<TargetFramework>net8.0</TargetFramework>
6738+
<RequiresDockerDependency>None</RequiresDockerDependency>
6739+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
6740+
</PackageVersionSample>
6741+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
6742+
<Properties>ApiVersion=24.1.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
6743+
<TargetFramework>net9.0</TargetFramework>
6744+
<RequiresDockerDependency>None</RequiresDockerDependency>
6745+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
6746+
</PackageVersionSample>
6747+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
6748+
<Properties>ApiVersion=24.1.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
6749+
<TargetFramework>net10.0</TargetFramework>
6750+
<RequiresDockerDependency>None</RequiresDockerDependency>
6751+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
6752+
</PackageVersionSample>
67296753
</ItemGroup>
67306754
</Project>

tracer/build/PackageVersionsLatestMinors.g.props

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46938,5 +46938,71 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely
4693846938
<RequiresDockerDependency>None</RequiresDockerDependency>
4693946939
<SampleName>Samples.OpenFeature</SampleName>
4694046940
</PackageVersionSample>
46941+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
46942+
<Properties>ApiVersion=23.0.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
46943+
<TargetFramework>net8.0</TargetFramework>
46944+
<RequiresDockerDependency>None</RequiresDockerDependency>
46945+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
46946+
</PackageVersionSample>
46947+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
46948+
<Properties>ApiVersion=23.1.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
46949+
<TargetFramework>net8.0</TargetFramework>
46950+
<RequiresDockerDependency>None</RequiresDockerDependency>
46951+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
46952+
</PackageVersionSample>
46953+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
46954+
<Properties>ApiVersion=23.2.2;RestoreRecursive=false;BuildProjectReferences=false</Properties>
46955+
<TargetFramework>net8.0</TargetFramework>
46956+
<RequiresDockerDependency>None</RequiresDockerDependency>
46957+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
46958+
</PackageVersionSample>
46959+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
46960+
<Properties>ApiVersion=23.3.6;RestoreRecursive=false;BuildProjectReferences=false</Properties>
46961+
<TargetFramework>net8.0</TargetFramework>
46962+
<RequiresDockerDependency>None</RequiresDockerDependency>
46963+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
46964+
</PackageVersionSample>
46965+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
46966+
<Properties>ApiVersion=23.4.3;RestoreRecursive=false;BuildProjectReferences=false</Properties>
46967+
<TargetFramework>net8.0</TargetFramework>
46968+
<RequiresDockerDependency>None</RequiresDockerDependency>
46969+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
46970+
</PackageVersionSample>
46971+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
46972+
<Properties>ApiVersion=24.0.1;RestoreRecursive=false;BuildProjectReferences=false</Properties>
46973+
<TargetFramework>net8.0</TargetFramework>
46974+
<RequiresDockerDependency>None</RequiresDockerDependency>
46975+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
46976+
</PackageVersionSample>
46977+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
46978+
<Properties>ApiVersion=24.1.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
46979+
<TargetFramework>net8.0</TargetFramework>
46980+
<RequiresDockerDependency>None</RequiresDockerDependency>
46981+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
46982+
</PackageVersionSample>
46983+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
46984+
<Properties>ApiVersion=24.0.1;RestoreRecursive=false;BuildProjectReferences=false</Properties>
46985+
<TargetFramework>net9.0</TargetFramework>
46986+
<RequiresDockerDependency>None</RequiresDockerDependency>
46987+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
46988+
</PackageVersionSample>
46989+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
46990+
<Properties>ApiVersion=24.1.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
46991+
<TargetFramework>net9.0</TargetFramework>
46992+
<RequiresDockerDependency>None</RequiresDockerDependency>
46993+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
46994+
</PackageVersionSample>
46995+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
46996+
<Properties>ApiVersion=24.0.1;RestoreRecursive=false;BuildProjectReferences=false</Properties>
46997+
<TargetFramework>net10.0</TargetFramework>
46998+
<RequiresDockerDependency>None</RequiresDockerDependency>
46999+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
47000+
</PackageVersionSample>
47001+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
47002+
<Properties>ApiVersion=24.1.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
47003+
<TargetFramework>net10.0</TargetFramework>
47004+
<RequiresDockerDependency>None</RequiresDockerDependency>
47005+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
47006+
</PackageVersionSample>
4694147007
</ItemGroup>
4694247008
</Project>

tracer/build/PackageVersionsLatestSpecific.g.props

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9810,5 +9810,53 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely
98109810
<RequiresDockerDependency>None</RequiresDockerDependency>
98119811
<SampleName>Samples.OpenFeature</SampleName>
98129812
</PackageVersionSample>
9813+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
9814+
<Properties>ApiVersion=23.0.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
9815+
<TargetFramework>net8.0</TargetFramework>
9816+
<RequiresDockerDependency>None</RequiresDockerDependency>
9817+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
9818+
</PackageVersionSample>
9819+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
9820+
<Properties>ApiVersion=23.4.3;RestoreRecursive=false;BuildProjectReferences=false</Properties>
9821+
<TargetFramework>net8.0</TargetFramework>
9822+
<RequiresDockerDependency>None</RequiresDockerDependency>
9823+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
9824+
</PackageVersionSample>
9825+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
9826+
<Properties>ApiVersion=24.0.1;RestoreRecursive=false;BuildProjectReferences=false</Properties>
9827+
<TargetFramework>net8.0</TargetFramework>
9828+
<RequiresDockerDependency>None</RequiresDockerDependency>
9829+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
9830+
</PackageVersionSample>
9831+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
9832+
<Properties>ApiVersion=24.1.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
9833+
<TargetFramework>net8.0</TargetFramework>
9834+
<RequiresDockerDependency>None</RequiresDockerDependency>
9835+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
9836+
</PackageVersionSample>
9837+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
9838+
<Properties>ApiVersion=24.0.1;RestoreRecursive=false;BuildProjectReferences=false</Properties>
9839+
<TargetFramework>net9.0</TargetFramework>
9840+
<RequiresDockerDependency>None</RequiresDockerDependency>
9841+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
9842+
</PackageVersionSample>
9843+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
9844+
<Properties>ApiVersion=24.1.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
9845+
<TargetFramework>net9.0</TargetFramework>
9846+
<RequiresDockerDependency>None</RequiresDockerDependency>
9847+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
9848+
</PackageVersionSample>
9849+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
9850+
<Properties>ApiVersion=24.0.1;RestoreRecursive=false;BuildProjectReferences=false</Properties>
9851+
<TargetFramework>net10.0</TargetFramework>
9852+
<RequiresDockerDependency>None</RequiresDockerDependency>
9853+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
9854+
</PackageVersionSample>
9855+
<PackageVersionSample Include="test\test-applications\integrations\Samples.Ocelot.DistributedTracing\Samples.Ocelot.DistributedTracing.csproj">
9856+
<Properties>ApiVersion=24.1.0;RestoreRecursive=false;BuildProjectReferences=false</Properties>
9857+
<TargetFramework>net10.0</TargetFramework>
9858+
<RequiresDockerDependency>None</RequiresDockerDependency>
9859+
<SampleName>Samples.Ocelot.DistributedTracing</SampleName>
9860+
</PackageVersionSample>
98139861
</ItemGroup>
98149862
</Project>

tracer/build/_build/Honeypot/IntegrationGroups.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ static IntegrationMap()
108108
NugetPackages.Add("Azure.Messaging.ServiceBus", new string[] { "Azure.Messaging.ServiceBus" });
109109
NugetPackages.Add("Azure.Messaging.EventHubs", new string[] { "Azure.Messaging.EventHubs" });
110110
NugetPackages.Add("amqmdnetstd", new [] { "IBMMQDotnetClient" });
111+
NugetPackages.Add("Ocelot", new [] { "Ocelot" });
111112
NugetPackages.Add("Yarp.ReverseProxy", new [] { "Yarp.ReverseProxy" });
112113
NugetPackages.Add("Microsoft.AspNetCore.Html.Abstractions", new [] { "Microsoft.AspNetCore.Html.Abstractions" });
113114
NugetPackages.Add("dotnet", Array.Empty<string>());

tracer/build/supported_calltargets.g.json

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8780,6 +8780,54 @@
87808780
"IsAdoNetIntegration": false,
87818781
"InstrumentationCategory": 1
87828782
},
8783+
{
8784+
"IntegrationName": "HttpMessageHandler",
8785+
"AssemblyName": "Ocelot",
8786+
"TargetTypeName": "Ocelot.Requester.MessageInvokerPool",
8787+
"TargetMethodName": "CreateHandler",
8788+
"TargetReturnType": "System.Net.Http.HttpMessageHandler",
8789+
"TargetParameterTypes": [
8790+
"Ocelot.Configuration.DownstreamRoute"
8791+
],
8792+
"MinimumVersion": {
8793+
"Item1": 23,
8794+
"Item2": 0,
8795+
"Item3": 0
8796+
},
8797+
"MaximumVersion": {
8798+
"Item1": 24,
8799+
"Item2": 0,
8800+
"Item3": 65535
8801+
},
8802+
"InstrumentationTypeName": "Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.SocketsHttpHandler.OcelotMessageInvokerPoolIntegration",
8803+
"IntegrationKind": 0,
8804+
"IsAdoNetIntegration": false,
8805+
"InstrumentationCategory": 1
8806+
},
8807+
{
8808+
"IntegrationName": "HttpMessageHandler",
8809+
"AssemblyName": "Ocelot",
8810+
"TargetTypeName": "Ocelot.Requester.MessageInvokerPool",
8811+
"TargetMethodName": "CreateHandler",
8812+
"TargetReturnType": "System.Net.Http.SocketsHttpHandler",
8813+
"TargetParameterTypes": [
8814+
"Ocelot.Configuration.DownstreamRoute"
8815+
],
8816+
"MinimumVersion": {
8817+
"Item1": 24,
8818+
"Item2": 1,
8819+
"Item3": 0
8820+
},
8821+
"MaximumVersion": {
8822+
"Item1": 24,
8823+
"Item2": 65535,
8824+
"Item3": 65535
8825+
},
8826+
"InstrumentationTypeName": "Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.SocketsHttpHandler.OcelotMessageInvokerPoolIntegration",
8827+
"IntegrationKind": 0,
8828+
"IsAdoNetIntegration": false,
8829+
"InstrumentationCategory": 1
8830+
},
87838831
{
87848832
"IntegrationName": "HttpMessageHandler",
87858833
"AssemblyName": "System.Net.Http",

tracer/build/supported_versions.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -791,6 +791,23 @@
791791
}
792792
]
793793
},
794+
{
795+
"integrationName": "HttpMessageHandler",
796+
"assemblyName": "Ocelot",
797+
"minAssemblyVersionInclusive": "23.0.0",
798+
"maxAssemblyVersionInclusive": "24.65535.65535",
799+
"packages": [
800+
{
801+
"name": "Ocelot",
802+
"minVersionAvailableInclusive": "0.0.1",
803+
"minVersionSupportedInclusive": "23.0.0",
804+
"minVersionTestedInclusive": "23.0.0",
805+
"maxVersionSupportedInclusive": "24.1.0",
806+
"maxVersionAvailableInclusive": "24.1.0",
807+
"maxVersionTestedInclusive": "24.1.0"
808+
}
809+
]
810+
},
794811
{
795812
"integrationName": "IbmMq",
796813
"assemblyName": "amqmdnetstd",
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<Project Sdk="Microsoft.NET.Sdk.Web">
2+
3+
<PropertyGroup>
4+
<TargetFrameworks>net8.0</TargetFrameworks>
5+
<RootNamespace>Datadog.Dependabot.Honeypot</RootNamespace>
6+
</PropertyGroup>
7+
8+
<ItemGroup>
9+
<!-- Integration: Ocelot -->
10+
<!-- Assembly: Ocelot -->
11+
<!-- Latest package https://www.nuget.org/packages/Ocelot/24.1.0 -->
12+
<PackageReference Include="Ocelot" Version="24.1.0" />
13+
</ItemGroup>
14+
15+
</Project>

0 commit comments

Comments
 (0)