这段代码在Xamarin应用程序中有什么问题?这是兼容性问题吗?
string key = configurationWrapper.GetValue<string>("ApplicationInsights:InstrumentationKey");
TelemetryConfiguration config = TelemetryConfiguration.CreateDefault(); // EXCEPTION!!!!!
config.InstrumentationKey = key;
_telemetryClient = new TelemetryClient(config);
更新:
{System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at System.IO.Path.Combine (System.String path1, System.String path2) [0x00003] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/corlib/System.IO/Path.cs:102
at Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.SelfDiagnostics.SelfDiagnosticsConfigParser.TryGetConfiguration (System.String& logDirectory, System.Int32& fileSizeInKB, System.Diagnostics.Tracing.EventLevel& logLevel) [0x00017] in /_/BASE/src/Microsoft.ApplicationInsights/Extensibility/Implementation/Tracing/SelfDiagnostics/SelfDiagnosticsConfigParser.cs:49 }
TelemetryConfiguration.CreateDefault()
尝试阅读ApplicationInsights。配置文件,这就是它可能失败的地方:
创建一个从ApplicationInsights加载的新的TelemetryConfiguration实例。配置文件。如果配置文件不存在,则将新的配置实例初始化为向Application Insights发送遥测所需的最小默认值。
(源)
您可以尝试使用TelemetryConfiguration.CreateFromConfiguration
,它接受一个xml字符串,基本上与ApplicationInsights的内容相同。配置文件。
或者使用其中一个公共构造函数实例化配置,并手动配置整个配置,如这里的outline