Move to 'Azure.Identity' v1.14.2 and refactor the telemetry library #404
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.
PR Summary
Fix #393
I can reproduce this issue on macOS with the error from
AzurePowerShellCredential()
being"PowerShell did not return a valid response."
This turns out to be an issue with theAzure.Identity
library (Azure/azure-sdk-for-net#50578). After moving to the latest1.14.2
of the package, it works for me on macOS.However, moving to the
1.14.2
of theAzure.Identity
caused a dependency conflict with theMicrosoft.ApplicationInsights.WorkerService
package, which brings in an older version ofMicrosoft.Extensions.DependencyInjection
that conflicts with the newer version ofMicrosoft.Extensions.DependencyInjection.Abstractions
that comes withAzure.Identity
.In fact, we should not depend on
Microsoft.ApplicationInsights.WorkerService
, but instead should useMicrosoft.ApplicationInsights
directly. TheWorkerService
package was designed for ASP.NET Core applications that need automatic dependency injection, performance counters, and various auto-collectors. For a simple console application that just needs to send traces and exceptions to Application Insights, the coreMicrosoft.ApplicationInsights
package is perfect and much more appropriate.What were changed: (summarized by GitHub Copilot)
Microsoft.ApplicationInsights.WorkerService
with justMicrosoft.ApplicationInsights
TelemetryConfiguration.CreateDefault()
with connection string instead of deprecated approachesBenefits of the change: (summarized by GitHub Copilot)