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

在Visual Studio中,我将应用程序洞察添加到创buildApplicationInsights.config的项目中,但不确定将什么其他文件添加到项目中。

事情是,做正确的点击并按添加应用程序洞察是非常直接的。 现在我正在寻找没有成功的方法来删除该项目的应用程序洞察力。

我怎样才能做到这一点?

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

任何帮助表示赞赏,我想完全摆脱该应用程序的应用程序洞察力。

除非我误解了这个问题,否则只能删除一个扩展名,也可能删除一个nuget包。

卸载适用于Visual Studio扩展程序的Application Insights Tools,并删除Application Telemetry SDK for Services nuget程序包。 遥测软件包与Application Insights一起安装,但必须单独移除。

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

我只是想添加已经给出的答案,刚刚经历了一个ASP.NET MVC 5项目的过程。

卸载使用NuGet

正如其他答案所说,删除Application Insights的最好方法是通过Nuget:工具 – > NuGet包pipe理器 – >pipe理解决scheme的NuGet包。

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

这删除了一切,除了:

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

这两个我手动删除。

微软有什么话要说

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

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

细节取决于项目的types。 对于Web应用程序:

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

  • ApplicationInsights.config。
  • ai.js

安装这些NuGet软件包:

  • Application Insights API – 核心API
  • 应用程序Insights API for Web Applications – 用于从服务器发送遥测数据
  • 应用程序洞察JavaScript应用程序API – 用于从客户端发送遥测

这些软件包包含以下组件:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

将项目插入到:

  • Web.config文件
  • packages.config(仅限新build项目 – 如果将Application Insights添加到现有项目中,则必须手动完成此操作。)将代码片段插入到客户端和服务器代码中,以使用Application Insights资源ID对其进行初始化。 例如,在MVC应用程序中,代码被插入到母版页Views / Shared / _Layout.cshtml中

手动删除

要删除没有NuGet的应用程序见解,或者如果像我一样,你不信任它,并想知道哪些文件被删除,我遵循这些步骤:

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

  • 从项目引用中删除所有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||"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&ai.0.15.0-build58334.min.js。

  • 清洁和重build所有。

我宁愿这样做:

 UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies 

如果您使用NuGet软件包pipe理器(工具 – > NuGet软件包pipe理器 – >pipe理NuGet软件包的解决scheme),您可以searchApplicationInsights并卸载软件包,并有一个选项来删除依赖项。 可能有几个。 这是清除所有依赖关系的最简单方法,而不仅仅是一些。

通过一个新的ASP.Net Core 1.1项目:

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

我解决了这个问题,首先从(Tools – > NuGet Package Manager – > Manage NuGet Packages for Solution)卸载所有的Application Insight软件包,

然后跑了

卸载包Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies

在Nuget控制台。

这为我修好了。