ASP.NET Core MVC应用程序洞察在升级到.NET Core 1.1.1后停止工作

时间:2017-04-28 14:34:16

标签: c# .net asp.net-core asp.net-core-mvc azure-application-insights

我有一个简单的ASP.NET核心应用程序,我在2016年12月工作。它在应用程序见解和遥测方面工作得很好。

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"

屏幕:

enter image description here

从project.json升级到新的csproj并使用新的Visual Studio 2017并没有帮助。

看起来ApplicationInsightsJavaScript基本上已从API中删除。我如何启用javascript应用程序洞察呢?

1 个答案:

答案 0 :(得分:21)

从ApplicationInsights 1.x到2.x有重大更改,这些更改记录在GitHub release notes上。

  
      
  • 此版本包含重写SDK内部以获得更好的.NET   核心集成和初始化。
  •   
  • UseApplicationInsightsRequestTelemetry已经过时,它使用的逻辑   现在自动处理执行并调用此方法   应该从Startup.cs中删除。
  •   
  • UseApplicationInsightsExceptionTelemetry已过时,例外   遥测现在在内部自动处理。你应该删除   从Startup.cs调用此方法,否则您将获得重复   异常遥测报道。
  •   
  • JavaScript的MVC依赖项   已删除代码段,以便包含JavaScript代码段   现在您需要进行以下更改:      
        
    • 在_ViewImports.cshtml中,将@inject Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration TelemetryConfiguration替换为@inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
    •   
    • 在_Layout.cshtml中替换   @Html.ApplicationInsightsJavaScript(TelemetryConfiguration)@Html.Raw(JavaScriptSnippet.FullScript)
    • 。{   
  •