Fix bug in OpenTelemetry SDK version validation code in StartupHook #2178
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why
Fixes a special case that #1692 didn't cover.
If the customer included the OpenTelemetry SDK with
PackageReferencein the csproj file but didn't have C# code calling OpenTelemetry APIs, the app will crash with aSystem.Reflection.TargetInvocationExceptionwhich doesn't have the helpfulSystem.NotSupportedException.This is because
Assembly.GetEntryAssembly()?.GetReferencedAssemblies()'s return value doesn't containOpenTelemetryassembly unless it's invoked in C# code.What
Rely on
Type.GetTypeto check whether customer's app has dependency on OpenTelemetry.Tests
Case 1
Add
<PackageReference Include="OpenTelemetry" VersionOverride="1.4.0-rc.2" />in the<ItemGroup>tag ofexamples\playground\AspNetCoreMvc\Examples.AspNetCoreMvc.csproj.Case 2
examples\playground\AspNetCoreMvc\Examples.AspNetCoreMvc.csprojworks fine.Checklist
- [ ]CHANGELOG.mdis updated.- [ ] Documentation is updated.- [ ] New features are covered by tests.