从Visual Studio 2013上的应用程序中删除Application Insight

时间:2014-04-22 19:42:23

标签: asp.net visual-studio-2013 azure-application-insights

在Visual Studio上,我向项目添加了应用程序洞察,该项目创建了ApplicationInsights.config,并且不确定将哪些其他文件添加到项目中。

事情是,右键单击并按Add Application Insight非常简单。现在我看起来没有成功去除该项目的应用程序洞察力。

我怎样才能做到这一点?

在生产服务器上,使用DebugView,即使关闭服务器上的Application Monitor Services,我也会看到遥测日志。

感谢任何帮助,我想彻底摆脱对该应用程序的应用程序洞察力。

6 个答案:

答案 0 :(得分:94)

我只想添加已经给出的答案,刚刚使用ASP.NET MVC 5项目完成了这个过程。

使用NuGet

卸载

正如其他答案所说,删除Application Insights的最佳方法是通过Nuget:工具 - > NuGet包管理器 - >管理NuGet包以获得解决方案。

我发现最好首先删除 Microsoft.ApplicationInsights.Web 及其所有依赖项,然后 Microsoft.ApplicationInsights.Javascript API

除去了以下所有内容:

  • ApplicationInsights.config文件,
  • _Layout.cshtml中的脚本片段,

我手动删除了这两个。

微软必须说什么

此处的Microsoft Azure文档:https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/,说:

  

Application Insights在我的项目中修改了什么?

     

细节取决于项目类型。对于Web应用程序:

     

将这些文件添加到您的项目中:

     
      
  • ApplicationInsights.config。
  •   
  • ai.js
  •   
     

安装这些NuGet包:

     
      
  • Application Insights API - 核心API
  •   
  • 适用于Web应用程序的Application Insights API - 用于从服务器发送遥测
  •   
  • 适用于JavaScript应用程序的Application Insights API - 用于从客户端发送遥测
  •   
     

包裹包括这些组件:

     
      
  • Microsoft.ApplicationInsights
  •   
  • Microsoft.ApplicationInsights.Platform
  •   
     

将项目插入:

     
      
  • 的Web.config
  •   
  • packages.config(仅限新项目 - 如果将Application Insights添加到现有项目,则必须手动执行此操作。)插入   snippets到客户端和服务器代码,用它来初始化它们   Application Insights资源ID。例如,在MVC应用程序中,代码是   插入主页面Views / Shared / _Layout.cshtml
  •   

手动删除

要在没有NuGet的情况下删除Application Insights,或者像我一样,您不相信它并想知道删除了哪些文件,我按照以下步骤操作:

  • 从web.config中删除应用程序洞察,在system.webserver.modules下,搜索ApplicationInsightsWebTracking。

  • 从项目引用中删除所有Microsoft.AI(Application Insights)前缀引用。

  • 从package.config中删除所有Microsoft.ApplicationInsights软件包。

  • 删除ApplicationInsights.config文件。

  • 从_Layout.cshtml中删除脚本:

    
    
    var appInsights=window.appInsights||function(config){
        function r(config){t[config]=function(){var i=arguments;t.queue.push(function(){t[config].apply(t,i)})}}var t={config:config},u=document,e=window,o="script",s=u.createElement(o),i,f;for(s.src=config.url||"//az416426.vo.msecnd.net/scripts/a/ai.0.js",u.getElementsByTagName(o)[0].parentNode.appendChild(s),t.cookie=u.cookie,t.queue=[],i=["Event","Exception","Metric","PageView","Trace"];i.length;)r("track"+i.pop());return r("setAuthenticatedUserContext"),r("clearAuthenticatedUserContext"),config.disableExceptionTracking||(i="onerror",r("_"+i),f=e[i],e[i]=function(config,r,u,e,o){var s=f&&f(config,r,u,e,o);return s!==!0&&t["_"+i](config,r,u,e,o),s}),t
    }({
        instrumentationKey:"RemovedKey"
    });
    
    window.appInsights=appInsights;
    appInsights.trackPageView();
    
    
    
  • 删除ai.0.15.0-build58334.js&来自Scripts目录的ai.0.15.0-build58334.min.js。

  • 清洁&重建所有。

答案 1 :(得分:56)

除非我误解了这个问题,否则你只需要删除一个扩展名和一个nuget包。

卸载适用于Visual Studio的应用程序洞察工具扩展程序,然后删除应用程序遥测SDK for Services nuget包。遥测包与Application Insights一起安装,但必须单独删除。

根据我的经验,如果您希望继续使用Application Insights的其他功能,则不需要遥测包。删除遥测包将停止所有遥测记录,但Application Insights将继续报告非遥测信息。

答案 2 :(得分:45)

我更愿意这样做:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies

答案 3 :(得分:13)

如果您使用NuGet包管理器来获得解决方案(工具 - > NuGet包管理器 - >管理解决方案的NuGet包),您可以搜索ApplicationInsights并卸载包,并且可以选择删除依赖项。可能有几个。这是清除所有依赖项的最简单方法,而不仅仅是一些依赖项。

答案 4 :(得分:6)

使用新的ASP.Net Core 1.1项目:

  • 删除Microsoft.ApplicationInsights.AspNetCore nuget包
  • 从_Layout.cshtml页面
  • 中删除inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
  • 从_Layout.cshtml
  • 中删除@Html.Raw(JavaScriptSnippet.FullScript)
  • 从program.cs
  • 中删除.UseApplicationInsights()

答案 5 :(得分:1)

我首先从(工具 - > NuGet包管理器 - >管理解决方案的NuGet包)中卸载所有Application Insight包来解决这个问题。

然后跑

Uninstall-Package Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies

在Nuget控制台中。

为我修好了。