我在 2016 年 12 月开发了一个简单的 ASP.NET Core 应用程序。它在应用程序洞察和遥测方面运行良好。
现在 4 个月后我想接手这项工作并开始从 .NET Core 1.1.0 升级到 1.1.1。在此过程中,包 Microsoft.ApplicationInsights.AspNetCore
已从版本 1.0.2
更新到版本 2.0.0
。
不幸的是,这导致我的应用停止工作,特别是我收到此错误:
An error occurred during the compilation of a resource required to process this request. Please review the following specific error details and modify your source code appropriately.
/Views/Shared/_Layout.cshtml
'IHtmlHelper<dynamic>' does not contain a definition for 'ApplicationInsightsJavaScript' and no extension method 'ApplicationInsightsJavaScript' accepting a first argument of type 'IHtmlHelper<dynamic>' could be found (are you missing a using directive or an assembly reference?)
+
@Html.ApplicationInsightsJavaScript(TelemetryConfiguration)
Show compilation source
#pragma checksum "/Views/Shared/_Layout.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "050a2afdfb4a44e17be72e76627a3d3a0d0b7d5a"
namespace AspNetCore
{
#line 1 "/Views/_ViewImports.cshtml"
屏幕:
从 project.json 升级到新的 csproj 并使用新的 Visual Studio 2017 没有帮助。
看起来 ApplicationInsightsJavaScript 基本上已从 API 中删除。那么我该如何启用 javascript 应用程序洞察力?
最佳答案
GitHub 上记录了从 ApplicationInsights 1.x 到 2.x 的重大变化 release notes .
- This release contains a rewrite of the SDK internals for better .NET Core integration and initialization.
UseApplicationInsightsRequestTelemetry
is obsolete, the logic it used to perform is handled automatically now and calls to this method should be deleted from Startup.cs.UseApplicationInsightsExceptionTelemetry
is obsolete, exception telemetry is handled automatically internally now. You should delete calls to this method from Startup.cs otherwise you will get duplicate exception telemetry reported.- The MVC dependency for the JavaScript snippet has been removed so in order to include the JavaScript snippet now you need to make the following changes:
- In _ViewImports.cshtml replace
@inject Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration TelemetryConfiguration
with@inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
- In _Layout.cshtml replace
@Html.ApplicationInsightsJavaScript(TelemetryConfiguration)
with@Html.Raw(JavaScriptSnippet.FullScript)
关于c# - 升级到 .NET Core 1.1.1 后,ASP.NET Core MVC 应用程序洞察力停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43682743/