Supprimer Application Insight de l'application sur Visual Studio 2013

86

Sur Visual Studio, j'ai ajouté des informations d'application à un projet qui crée un ApplicationInsights.config et je ne sais pas quels autres fichiers ont été ajoutés au projet.

Le fait est que faire un clic droit et appuyer sur Ajouter Application Insight était assez simple. Maintenant, je cherche sans succès un moyen de supprimer les informations d'application pour ce projet.

Comment puis-je y parvenir?

Sur le serveur de production, à l'aide de DebugView, je vois les journaux de télémétrie, même après avoir arrêté les services du moniteur d'application sur le serveur.

Toute aide est appréciée, je souhaite me débarrasser complètement des informations sur l'application sur cette application.

Bart Calixto
la source
2
Je ne comprends pas pourquoi Microsoft essaie d'ajouter des choses inutiles effrayantes comme Application Insight à des projets sans demander?
Jalal
1
@Jalal Ouais, cela me rappelle d'installer n'importe quel produit Apple - les ordures de bloatware d'entreprise IMO.
ne1410s

Réponses:

57

À moins que je ne comprenne mal la question, vous ne devriez avoir à supprimer qu'une extension et peut-être un paquet nuget.

Désinstallez l' extension Application Insights Tools pour Visual Studio et supprimez le package nuget Application Telemetry SDK for Services . Le package de télémétrie est installé avec Application Insights mais doit être supprimé séparément.

D'après mon expérience, le package de télémétrie n'est pas nécessaire si vous souhaitez continuer à utiliser les autres fonctionnalités d'Application Insights. La suppression du package de télémétrie arrêtera toute journalisation de la télémétrie, mais Application Insights continuera à signaler des informations non-télémétriques très bien.

user1393477
la source
excellent, je n'étais pas au courant du package nuget du SDK de télémétrie. MERCI!
Bart Calixto
5
Ce n'est pas une réponse utile, désinstallez "Application Insights Tools pour Visual Studio", supprimez l'application Insights et maintenant, lorsque je crée un projet MVC asp.net 4.6.1, cela ne fonctionne pas. Cela me montre une erreur.
Anirudha Gupta
@GuptaAnirudha Je suis en fait ici en train de chercher parce que j'ai rencontré le même problème. Avez-vous trouvé un moyen de faire fonctionner les modèles après avoir supprimé les outils Insight?
shortstuffsushi
2
@ user1393477 Qu'en est-il de Visual Studio 2015? Je ne vois aucune extension Application Insights.
keft
3
L'OP a demandé comment supprimer l'IA d'une application et non de VS.
ProfK
94

Je voulais juste ajouter aux réponses déjà données, après avoir traversé ce processus avec un projet ASP.NET MVC 5.

Désinstaller à l'aide de NuGet

Comme le disent les autres réponses, le meilleur moyen de supprimer Application Insights consiste à utiliser Nuget: Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution.

J'ai trouvé préférable de supprimer d'abord Microsoft.ApplicationInsights.Web et toutes ses dépendances, puis l' API Microsoft.ApplicationInsights.Javascript .

Cela a tout supprimé sauf:

  • le fichier ApplicationInsights.config,
  • un extrait de script dans _Layout.cshtml,

tous deux que j'ai supprimés manuellement.

Ce que Microsoft a à dire

La documentation Microsoft Azure ici: https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/ , dit:

Que modifie Application Insights dans mon projet?

Les détails dépendent du type de projet. Pour une application Web:

Ajoute ces fichiers à votre projet:

  • ApplicationInsights.config.
  • ai.js

Installe ces packages NuGet:

  • API Application Insights - l'API principale
  • API Application Insights pour les applications Web - utilisée pour envoyer des données de télémétrie à partir du serveur
  • API Application Insights pour les applications JavaScript - utilisée pour envoyer des données de télémétrie à partir du client

Les packages incluent ces assemblys:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

Insère des éléments dans:

  • Web.config
  • packages.config (Nouveaux projets uniquement - si vous ajoutez Application Insights à un projet existant, vous devez le faire manuellement.) Insère des extraits de code dans le code client et serveur pour les initialiser avec l'ID de ressource Application Insights. Par exemple, dans une application MVC, le code est inséré dans la page maître Views / Shared / _Layout.cshtml

Supprimer manuellement

Pour supprimer Application Insights sans NuGet, ou si, comme moi, vous ne lui faites pas confiance et souhaitez savoir quels fichiers sont supprimés, j'ai suivi ces étapes:

  • Supprimez les insights d'application du web.config, sous system.webserver.modules, recherchez ApplicationInsightsWebTracking.

  • Supprimez toutes les références préfixées Microsoft.AI (Application Insights) des références de projet.

  • Supprimez tous les packages Microsoft.ApplicationInsights de package.config.

  • Supprimez le fichier ApplicationInsights.config.

  • Supprimer le script de _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();
    
    
    
  • Supprimez ai.0.15.0-build58334.js & ai.0.15.0-build58334.min.js du répertoire Scripts.

  • Nettoyez et reconstruisez tout.

Anthony
la source
1
Il y a quelque temps, j'ai essayé de le supprimer à l'aide de Nuget, mais cela s'est terminé par un MESS TOTAL avec les références ... L'approche manuelle suggérée a fonctionné parfaitement! Merci!
Tuco
1
Très apprécié, Anthony. Le seul aperçu que j'ai obtenu d' ApplicationInsights était que Microsoft crée des outils qui semblent ne servir à rien d'autre que de briser mes projets.
jp2code
Merci. J'ai remarqué il y a aussi un ErrorHandler / AiHandleErrorAttribute.cs qui est enregistré dans les FilterConfig.cs
annulable
47

Je préférerais faire ceci:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies
romain
la source
1
Cela fonctionne bien - il nettoie tout sauf ApplicationInsights.config, que j'ai supprimé manuellement.
Joe White
2
C'est bien. Existe-t-il un moyen de ne pas ajouter ApplicationInsights en premier lieu lors de la création d'un nouveau projet?
Baxter
Oui, c'est ça.
Francesco B.
Cette réponse doit être plus élevée!
Dave Shinkle
La solution la plus simple et probablement la meilleure.
Manuel Plaza
13

Si vous utilisez le gestionnaire de package NuGet pour la solution (Outils -> Gestionnaire de package NuGet -> Gérer les packages NuGet pour la solution), vous pouvez rechercher ApplicationInsights et désinstaller le package, et il existe une option pour supprimer les dépendances. Il peut y en avoir plusieurs. C'est le moyen le plus simple de nettoyer TOUTES les dépendances, pas seulement certaines.

David Allen
la source
Je pense que c'est le moyen le plus rapide! Je n'avais besoin que de désinstaller deux des dépendances ApplicationInsights, au lieu de désinstaller manuellement 8! Merci @DavidAllen
hatsrumandcode
6

Avec un nouveau projet ASP.Net Core 1.1:

  • Supprimer le package nuget Microsoft.ApplicationInsights.AspNetCore
  • Supprimer inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippetde la page _Layout.cshtml
  • Supprimer @Html.Raw(JavaScriptSnippet.FullScript)de _Layout.cshtml
  • Supprimer .UseApplicationInsights()de program.cs
Bidjes
la source
2

J'ai résolu ce problème en désinstallant d'abord tous les packages Application Insight à partir de (Outils -> Gestionnaire de packages NuGet -> Gérer les packages NuGet pour la solution)

Puis a couru

Désinstaller-Package Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies

dans la console Nuget.

Cela a résolu le problème pour moi.

Obodeh Egheose
la source