Rimuovere Application Insight dall'applicazione in Visual Studio 2013


86

In Visual Studio ho aggiunto informazioni sull'applicazione a un progetto che crea un ApplicationInsights.config e non sono sicuro di quali altri file siano stati aggiunti al progetto.

Il fatto è che fare clic con il tasto destro e premere Aggiungi Application Insight è stato piuttosto semplice. Ora sto cercando senza successo un modo per rimuovere le informazioni sull'applicazione per quel progetto.

Come posso ottenerlo?

Sul server di produzione, utilizzando DebugView, vedo i log di telemetria, anche dopo aver chiuso i servizi di monitoraggio dell'applicazione sul server.

Qualsiasi aiuto è apprezzato, voglio eliminare completamente le informazioni sull'applicazione su quell'applicazione.


2
Non riesco a capire perché Microsoft sta cercando di aggiungere cose inutili inquietanti come Application Insight ai progetti senza chiedere?
Jalal

1
@Jalal Sì, mi ricorda l'installazione di qualsiasi prodotto Apple - spazzatura bloatware aziendale IMO.
ne1410s

Risposte:


57

A meno che non fraintenda la domanda, dovresti rimuovere solo un'estensione e possibilmente un pacchetto nuget.

Disinstallare l' estensione Application Insights Tools per Visual Studio e rimuovere il pacchetto nuget di Application Telemetry SDK for Services . Il pacchetto di telemetria viene installato insieme ad Application Insights ma deve essere rimosso separatamente.

Nella mia esperienza, il pacchetto di telemetria non è necessario se si desidera continuare a utilizzare le altre funzionalità di Application Insights. La rimozione del pacchetto di telemetria interromperà tutta la registrazione dei dati di telemetria, ma Application Insights continuerà a segnalare correttamente le informazioni non di telemetria.


eccellente, non ero a conoscenza del pacchetto nuget dell'SDK di telemetria. GRAZIE!
Bart Calixto

5
Questa non è una risposta utile, Disinstalla "Application Insights Tools per Visual Studio" rimuovi l'applicazione Insights e ora quando creo il progetto asp.net 4.6.1 MVC non funziona. Mi mostra l'errore.
Anirudha Gupta

@GuptaAnirudha In realtà sto cercando qui perché ho riscontrato lo stesso problema. Hai trovato un modo per far funzionare i modelli dopo aver rimosso gli strumenti di analisi?
shortstuffsushi

2
@ user1393477 E per quanto riguarda Visual Studio 2015? Non riesco a vedere alcuna estensione di Application Insights.
keft

3
L'OP ha chiesto come rimuovere l'IA da un'applicazione, non da VS.
ProfK

94

Volevo solo aggiungere le risposte già fornite, avendo appena seguito questo processo con un progetto ASP.NET MVC 5.

Disinstalla utilizzando NuGet

Come dicono le altre risposte, il modo migliore per rimuovere Application Insights è tramite Nuget: Strumenti -> Gestione pacchetti NuGet -> Gestisci pacchetti NuGet per soluzione.

Ho trovato meglio rimuovere prima Microsoft.ApplicationInsights.Web e tutte le sue dipendenze, quindi l' API Microsoft.ApplicationInsights.Javascript .

Questo ha rimosso tutto tranne:

  • il file ApplicationInsights.config,
  • uno snippet di script in _Layout.cshtml,

entrambi i quali ho rimosso manualmente.

Cosa ha da dire Microsoft

La documentazione di Microsoft Azure qui: https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/ , dice:

Cosa modifica Application Insights nel mio progetto?

I dettagli dipendono dal tipo di progetto. Per un'applicazione web:

Aggiunge questi file al tuo progetto:

  • ApplicationInsights.config.
  • ai.js

Installa questi pacchetti NuGet:

  • API Application Insights: l'API principale
  • API di Application Insights per applicazioni Web: utilizzata per inviare dati di telemetria dal server
  • API di Application Insights per applicazioni JavaScript: utilizzata per inviare dati di telemetria dal client

I pacchetti includono questi assembly:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

Inserisce elementi in:

  • Web.config
  • packages.config (Solo nuovi progetti: se si aggiunge Application Insights a un progetto esistente, è necessario farlo manualmente). Inserisce frammenti nel codice client e server per inizializzarli con l'ID risorsa di Application Insights. Ad esempio, in un'app MVC, il codice viene inserito nella pagina master Views / Shared / _Layout.cshtml

Rimuovi manualmente

Per rimuovere Application Insights senza NuGet, o se come me non ti fidi e vuoi sapere quali file vengono rimossi, ho seguito questi passaggi:

  • Rimuovi le informazioni dettagliate sull'applicazione da web.config, in system.webserver.modules, cerca ApplicationInsightsWebTracking.

  • Rimuovere tutti i riferimenti con prefisso Microsoft.AI (Application Insights) dai riferimenti al progetto.

  • Rimuovi tutti i pacchetti Microsoft.ApplicationInsights da package.config.

  • Elimina il file ApplicationInsights.config.

  • Rimuovi script da _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();
    
    
    
  • Rimuovere ai.0.15.0-build58334.js e ai.0.15.0-build58334.min.js dalla directory degli script.

  • Pulisci e ricostruisci tutto.


1
Qualche tempo fa ho provato a rimuoverlo usando Nuget, ma si è concluso con un TOTAL MESS con i riferimenti ... L'approccio manuale suggerito ha funzionato perfettamente! Grazie!
Tuco

1
Molto apprezzato, Anthony. L'unica intuizione che ho ottenuto da ApplicationInsights è stata che Microsoft crea strumenti che sembrano non avere alcuno scopo se non quello di rompere i miei progetti.
jp2code

Grazie. Ho notato che c'è anche un ErrorHandler / AiHandleErrorAttribute.cs che è registrato in FilterConfig.cs
nullable

47

Preferisco fare questo:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies

1
Funziona bene: pulisce tutto tranne ApplicationInsights.config, che ho rimosso manualmente.
Joe White

2
Questo è fantastico. C'è un modo per non aggiungere ApplicationInsights in primo luogo quando si crea un nuovo progetto?
Baxter

Sì, è così.
Francesco B.

Questa risposta deve essere più alta!
Dave Shinkle

La soluzione più semplice e probabilmente la migliore.
Manuel Plaza,

13

Se usi NuGet Package Manager per la soluzione (Strumenti -> NuGet Package Manager -> Gestisci pacchetti NuGet per la soluzione) puoi cercare ApplicationInsights e disinstallare il pacchetto ed è disponibile un'opzione per rimuovere le dipendenze. Potrebbero essere diversi. Questo è il modo più semplice per pulire TUTTE le dipendenze, non solo alcune.


Penso che sia il modo più veloce! Avevo solo bisogno di disinstallare due delle dipendenze di ApplicationInsights, invece di disinstallare manualmente 8! Grazie @DavidAllen
hatsrumandcode

6

Con un nuovo progetto ASP.Net Core 1.1:

  • Rimuovere il pacchetto nuget Microsoft.ApplicationInsights.AspNetCore
  • Rimuovi inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippetdalla pagina _Layout.cshtml
  • Rimuovi @Html.Raw(JavaScriptSnippet.FullScript)da _Layout.cshtml
  • Rimuovi .UseApplicationInsights()da program.cs

2

Ho risolto questo problema disinstallando prima tutti i pacchetti di Application Insight da (Strumenti -> Gestione pacchetti NuGet -> Gestisci pacchetti NuGet per soluzione)

Poi corse

Pacchetto di disinstallazione Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies

nella console Nuget.

Questo ha risolto il problema per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.