Независимо от того, что я пытаюсь, Application Insights в простом консольном приложении C # (NetCORE) не получит InstrumentationKey. Я использую следующий код:
var telemetryClient = new TelemetryClient(); Console.WriteLine("Key=" + telemetryClient.InstrumentationKey);
И следующий файл ApplicationInsights.config:
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings"> <InstrumentationKey>1234</InstrumentationKey> <!--https://docs.microsoft.com/en-us/azure/azure-monitor/app/configuration-with-applicationinsights-config#instrumentationkey--> </ApplicationInsights>
Ключ всегда пуст.
Я пытался обернутьСодержимое конфигурации в, и я попытался удалить тег. Я также попробовал следующий код:
var telemetryClient = new TelemetryClient(TelemetryConfiguration.CreateDefault()); Console.WriteLine("Key=" + telemetryClient.InstrumentationKey);
Мой предыдущий вопрос по этой теме привел к решению, которое требовало наличия файла ApplicationInsights.config в папке проекта для корректной работы средства ведения журнала отладочных приложений. Ссылка: Невозможно получить Application Insights для отображения отладочной телеметрии . Один из пользователей отмечает, что NetCORE больше не использует этот файл конфигурации, но мне трудно в это поверить, так как в противном случае телеметрия не регистрируется в отладочной телеметрии Application Insights.
В документации для него не упоминается InstrumentationKey внутрифайла конфигурации: https://docs.microsoft.com/en-us/azure/azure-monitor/app/configuration-with-applicationinsights-config#instrumentationkey
Есть ли способ просто запустить эти две строки кода и заставить его выбрать инструментальный ключ из файла конфигурации, или мне нужно установить его вручную в коде?
Для проектов .NET Core или ASP.NET Core SDK не считывает файл applicationinsights.config. Для консольных приложений рекомендуемый подход описан здесь (https://docs.microsoft.com/en-us/azure/azure-monitor/app/worker-service#net-corenet-framework-console-application). В этих случаях в appsettings.json указан ключ инструментария.