从 VisualStudio2013上的应用程序中删除应用程序内窥

在 Visual Studio 上,我向一个项目添加了应用程序洞察力,该项目创建了 ApplicationInsight. config,但不确定向该项目添加了哪些其他文件。

问题是,右键单击并按 AddApplicationInsight 非常简单。现在,我正在寻找一种方法来删除该项目的应用程序洞察力,但是没有成功。

我怎么才能做到呢?

在生产服务器上,使用 DebugView,即使在关闭服务器上的 ApplicationMonitor 服务之后,我也能看到遥测日志。

任何帮助都是值得感激的,我希望完全摆脱对应用程序的洞察力。

65208 次浏览

Unless I'm misunderstanding the question, you should only have to remove one extension and possibly one nuget package.

Uninstall the Application Insights Tools for Visual Studio extension and remove the Application Telemetry SDK for Services nuget package. The telemetry package is installed along with Application Insights but must be removed separately.

In my experience the telemetry package is not required if you wish to keep using Application Insights' other features. Removing the telemetry package will stop all telemetry logging but Application Insights will continue to report non-telemetry information just fine.

If you use the NuGet Package Manager for the solution (Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution) you can search for ApplicationInsights and uninstall the package, and there is an option to remove dependencies. There may be several. This is the easiest way to cleanup ALL the dependencies, not just some.

I just wanted to add to the answers already given, having just gone through this process with an ASP.NET MVC 5 project.

Uninstall Using NuGet

As the other answers say, the best way to remove Application Insights is through Nuget: Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution.

I found it best to remove Microsoft.ApplicationInsights.Web and all its dependencies first, then Microsoft.ApplicationInsights.Javascript API.

This removed everything except:

  • the ApplicationInsights.config file,
  • a script snippet in _Layout.cshtml,

both of which I removed manually.

What Microsoft has to say

The Microsoft Azure documentation here: https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/, says:

What does Application Insights modify in my project?

The details depend on the type of project. For a web application:

Adds these files to your project:

  • ApplicationInsights.config.
  • ai.js

Installs these NuGet packages:

  • Application Insights API - the core API
  • Application Insights API for Web Applications - used to send telemetry from the server
  • Application Insights API for JavaScript Applications - used to send telemetry from the client

The packages include these assemblies:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

Inserts items into:

  • Web.config
  • packages.config (New projects only - if you add Application Insights to an existing project, you have to do this manually.) Inserts snippets into the client and server code to initialize them with the Application Insights resource ID. For example, in an MVC app, code is inserted into the master page Views/Shared/_Layout.cshtml

Remove Manually

To remove Application Insights without NuGet, or if like me you don't trust it and want to know which files are removed, I followed these steps:

  • Remove application insights from the web.config, under system.webserver.modules, search for ApplicationInsightsWebTracking.

  • Remove all Microsoft.AI (Application Insights) prefixed references from project references.

  • Remove all Microsoft.ApplicationInsights packages from package.config.

  • Delete ApplicationInsights.config file.

  • Remove script from _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();
    
    
    
    
  • Remove ai.0.15.0-build58334.js & ai.0.15.0-build58334.min.js from Scripts directory.

  • Clean & Rebuild all.

With a new ASP.Net Core 1.1 project:

  • Remove the Microsoft.ApplicationInsights.AspNetCore nuget package
  • Remove inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet from the _Layout.cshtml page
  • Remove @Html.Raw(JavaScriptSnippet.FullScript) from _Layout.cshtml
  • Remove .UseApplicationInsights()from program.cs

I would prefer to do this:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies

I solved this by first uninstalling all Application Insight packages from (Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution)

Then ran

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

in the Nuget console.

That fixed it for me.