Usuń usługę Application Insight z aplikacji w programie Visual Studio 2013

86

W Visual Studio dodałem wgląd do aplikacji do projektu, który tworzy ApplicationInsights.config i nie jestem pewien, jakie inne pliki zostały dodane do projektu.

Chodzi o to, że kliknięcie prawym przyciskiem myszy i naciśnięcie przycisku Dodaj Application Insight było dość proste. Teraz bezskutecznie szukam sposobu na usunięcie wglądu w aplikację dla tego projektu.

Jak mogę to osiągnąć?

Na serwerze produkcyjnym, korzystając z DebugView, widzę dzienniki telemetrii, nawet po zamknięciu usług Application Monitor Services na serwerze.

Każda pomoc jest mile widziana, chcę całkowicie pozbyć się wglądu w tę aplikację.

Bart Calixto
źródło
2
Nie rozumiem, dlaczego firma Microsoft bez pytania próbuje dodawać do projektów przerażające, bezużyteczne rzeczy, takie jak Application Insight?
Jalal
1
@Jalal Yeah przypomina mi o instalacji dowolnego produktu Apple - korporacyjnego bloatware śmieci IMO.
ne1410s

Odpowiedzi:

57

O ile nie rozumiem źle pytania, powinieneś usunąć tylko jedno rozszerzenie i prawdopodobnie jeden pakiet nuget.

Odinstaluj Application Insights Tools dla rozszerzenia programu Visual Studio i usuń pakiet Application Telemetry SDK for Services NuGet. Pakiet telemetryczny jest instalowany wraz z Application Insights, ale musi zostać usunięty oddzielnie.

Z mojego doświadczenia wynika, że ​​pakiet telemetryczny nie jest wymagany, jeśli chcesz nadal korzystać z innych funkcji Application Insights. Usunięcie pakietu telemetrii spowoduje zatrzymanie całego rejestrowania telemetrii, ale Application Insights będzie nadal raportować informacje niezwiązane z telemetrią.

user1393477
źródło
doskonale, nie wiedziałem o pakiecie NuGet zestawu SDK telemetrii. DZIĘKI!
Bart Calixto
5
To nie jest pomocna odpowiedź, Odinstaluj „Application Insights Tools for Visual Studio” usuń aplikację Insights i teraz, gdy tworzę projekt asp.net 4.6.1 MVC, nie działa. Pokazuje mi błąd.
Anirudha Gupta,
@GuptaAnirudha Właściwie szukam tutaj, ponieważ napotkałem ten sam problem. Czy znalazłeś jakiś sposób, aby szablony działały po usunięciu narzędzi Insight?
shortstuffsushi
2
@ user1393477 A co z programem Visual Studio 2015? Nie widzę żadnego rozszerzenia Application Insights.
odszedł
3
OP zapytał, jak usunąć AI z aplikacji, a nie z VS.
ProfK,
94

Chciałem tylko dodać do już udzielonych odpowiedzi, po przejściu przez ten proces z projektem ASP.NET MVC 5.

Odinstaluj za pomocą NuGet

Jak mówią inne odpowiedzi, najlepszym sposobem na usunięcie Application Insights jest użycie narzędzia Nuget: Narzędzia -> Menedżer pakietów NuGet -> Zarządzaj pakietami NuGet dla rozwiązania.

Uważam, że najlepiej jest najpierw usunąć Microsoft.ApplicationInsights.Web i wszystkie jego zależności, a następnie Microsoft.ApplicationInsights.Javascript API .

To usunęło wszystko oprócz:

  • plik ApplicationInsights.config,
  • fragment skryptu w _Layout.cshtml,

z których oba usunąłem ręcznie.

Co Microsoft ma do powiedzenia

Dokumentacja Microsoft Azure tutaj: https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/ , mówi:

Co Application Insights modyfikuje w moim projekcie?

Szczegóły zależą od rodzaju projektu. W przypadku aplikacji internetowej:

Dodaje te pliki do twojego projektu:

  • ApplicationInsights.config.
  • ai.js

Instaluje te pakiety NuGet:

  • Application Insights API - podstawowy interfejs API
  • Application Insights API for Web Applications - służy do wysyłania danych telemetrycznych z serwera
  • Application Insights API dla aplikacji JavaScript - służy do wysyłania danych telemetrycznych z klienta

Pakiety obejmują te zestawy:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

Wstawia elementy do:

  • Web.config
  • packages.config (tylko nowe projekty - jeśli dodasz Application Insights do istniejącego projektu, musisz to zrobić ręcznie). Wstawia fragmenty kodu do kodu klienta i serwera, aby zainicjować je przy użyciu identyfikatora zasobu Application Insights. Na przykład w aplikacji MVC kod jest wstawiany do strony wzorcowej Views / Shared / _Layout.cshtml

Usuń ręcznie

Aby usunąć Application Insights bez NuGet lub jeśli tak jak ja nie ufasz mu i chcesz wiedzieć, które pliki są usuwane, wykonałem następujące kroki:

  • Usuń szczegółowe informacje o aplikacji z pliku web.config w sekcji system.webserver.modules i wyszukaj ApplicationInsightsWebTracking.

  • Usuń wszystkie odwołania Microsoft.AI (Application Insights) z prefiksem z odwołań do projektu.

  • Usuń wszystkie pakiety Microsoft.ApplicationInsights z pliku package.config.

  • Usuń plik ApplicationInsights.config.

  • Usuń skrypt z _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();
    
    
    
  • Usuń pliki ai.0.15.0-build58334.js i ai.0.15.0-build58334.min.js z katalogu Scripts.

  • Wyczyść i odbuduj wszystko.

Anthony
źródło
1
Jakiś czas temu próbowałem go usunąć za pomocą Nugeta, ale skończyło się to TOTALNYM MESSEM z odniesieniami ... Sugerowane podejście ręczne działało bez zarzutu! Dzięki!
Tuco
1
Bardzo cenione, Anthony. Jedyny wgląd, jaki uzyskałem z ApplicationInsights , dotyczył tego, że Microsoft tworzy narzędzia, które wydają się służyć wyłącznie do niszczenia moich projektów.
jp2code
Dzięki. Zauważyłem, że istnieje również ErrorHandler / AiHandleErrorAttribute.cs, który jest zarejestrowany w FilterConfig.cs
nullable
47

Wolałbym to zrobić:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies
rzymski
źródło
1
Działa to dobrze - czyści wszystko oprócz pliku ApplicationInsights.config, który usunąłem ręcznie.
Joe White
2
To jest świetne. Czy istnieje sposób, aby nie dodawać ApplicationInsights w pierwszej kolejności podczas tworzenia nowego projektu?
Baxter
Tak, to wszystko.
Francesco B.
Ta odpowiedź musi być wyższa!
Dave Shinkle
Najłatwiejsze i prawdopodobnie najlepsze rozwiązanie.
Manuel Plaza
13

Jeśli używasz Menedżera pakietów NuGet dla rozwiązania (Narzędzia -> Menedżer pakietów NuGet -> Zarządzaj pakietami NuGet dla rozwiązania), możesz wyszukać ApplicationInsights i odinstalować pakiet, a istnieje opcja usunięcia zależności. Może być kilka. To najłatwiejszy sposób na wyczyszczenie WSZYSTKICH zależności, a nie tylko niektórych.

David Allen
źródło
Myślę, że to najszybszy sposób! Musiałem tylko odinstalować dwie zależności ApplicationInsights, zamiast ręcznie odinstalować 8! Dzięki @DavidAllen
hatsrumandcode
6

Z nowym projektem ASP.Net Core 1.1:

  • Usuń pakiet NuGet Microsoft.ApplicationInsights.AspNetCore
  • Usuń inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippetze strony _Layout.cshtml
  • Usuń @Html.Raw(JavaScriptSnippet.FullScript)z _Layout.cshtml
  • Usuń .UseApplicationInsights()z program.cs
Bidjes
źródło
2

Rozwiązałem ten problem, najpierw odinstalowując wszystkie pakiety Application Insight z (Narzędzia -> Menedżer pakietów NuGet -> Zarządzaj pakietami NuGet dla rozwiązania)

Potem uciekł

Odinstaluj pakiet Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies

w konsoli Nuget.

To naprawiło to dla mnie.

Obodeh Egheose
źródło