Application Insights 不从 ApplicationInsights.config 中获取 Instrumentation Key

Application Insights does not pickup Instrumentation Key from ApplicationInsights.config

无论我尝试什么,简单的 C# 控制台应用程序 (NetCORE) 中的 Application Insights 都不会获取 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 文件存在于项目文件夹中,调试应用程序洞察记录器才能正常工作。 Link: 。其中一位用户指出 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 中指定。