Видаліть Application Insight із програми на Visual Studio 2013


86

У Visual Studio я додав аналіз додатків до проекту, який створює ApplicationInsights.config і не впевнений, які інші файли були додані до проекту.

Справа в тому, що натискання правої кнопки миші та натискання кнопки Add Application Insight було досить прямим. Зараз я безуспішно шукаю спосіб видалити статистику програми для цього проекту.

Як я можу цього досягти?

На робочому сервері, використовуючи DebugView, я бачу журнали телеметрії, навіть після вимкнення служб моніторингу програм на сервері.

Будь-яка допомога буде вдячна, я хочу повністю позбутися розуміння програми щодо цієї програми.


2
Я не можу зрозуміти, чому Microsoft намагається додавати моторошні непотрібні речі, такі як Application Insight, до проектів, не запитуючи?
— Джалал,

1
@Jalal Так, це нагадує мені про встановлення будь-якого продукту Apple - корпоративного сміття IMO.
— ne1410s,

Відповіді:


57

Якщо я не розумію питання, вам слід видалити лише одне розширення і, можливо, один nuget-пакет.

Видаліть розширення Application Insights Tools для Visual Studio і видаліть nuget-пакет Application Telemetry SDK для служб . Пакет телеметрії встановлюється разом із Application Insights, але його потрібно видаляти окремо.

З мого досвіду, пакет телеметрії не потрібен, якщо ви хочете продовжувати використовувати інші функції Application Insights. Видалення пакету телеметрії зупинить усі журнали телеметрії, але Application Insights і надалі буде чудово повідомляти нетелеметричну інформацію.


чудово, я не знав про пакет телеметричного SDK nuget. ДЯКУЮ!
— Барт Каліксто

5
Це не корисна відповідь. Видаліть "Інструменти Insights Application for Visual Studio", видаліть Insights програми, і тепер, коли я створюю проект MVC asp.net 4.6.1, він не працює. Це показує мені помилку.
— Анірудха Гупта,

@GuptaAnirudha Я насправді тут шукаю, бо натрапив на те саме питання. Ви знайшли якийсь спосіб змусити шаблони працювати після видалення інструментів Insight?
— shortstuffsushi

2
@ user1393477 А як щодо Visual Studio 2015? Я не бачу жодного розширення Insights Application.
— keft

3
ОП запитав, як видалити ШІ з програми, а не з ВС.
— ProfK

94

Я просто хотів додати до вже наведених відповідей, щойно пройшовши цей процес із проектом ASP.NET MVC 5.

Видаліть за допомогою NuGet

Як кажуть інші відповіді, найкращий спосіб видалити Application Insights - це Nuget: Інструменти -> Менеджер пакунків NuGet -> Керування пакетами NuGet для рішення.

Я вважаю найкращим спочатку видалити Microsoft.ApplicationInsights.Web та всі його залежності, а потім Microsoft.ApplicationInsights.Javascript API .

Це видалило все, крім:

  • файл ApplicationInsights.config,
  • фрагмент сценарію в _Layout.cshtml,

обидва я видалив вручну.

Що має сказати Microsoft

Документація Microsoft Azure тут: https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/ , говорить:

Що модифікує Application Insights у моєму проекті?

Деталі залежать від типу проекту. Для веб-програми:

Додає ці файли до вашого проекту:

  • ApplicationInsights.config.
  • ai.js

Встановлює ці пакети NuGet:

  • Application Insights API - основний API
  • Application Insights API для веб-додатків - використовується для надсилання телеметрії з сервера
  • API Application Insights для додатків JavaScript - використовується для надсилання телеметрії від клієнта

Пакети включають такі збірки:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

Вставляє елементи в:

  • Web.config
  • package.config (Лише нові проекти - якщо ви додаєте Application Insights до існуючого проекту, вам доведеться це робити вручну.) Вставляє фрагменти в код клієнта та сервера, щоб ініціалізувати їх за допомогою ідентифікатора ресурсу Application Insights. Наприклад, у програмі MVC код вставляється на головну сторінку Views / Shared / _Layout.cshtml

Видалити вручну

Щоб видалити Application Insights без NuGet, або якщо, як і я, ви йому не довіряєте і хочете знати, які файли видаляються, я виконав ці дії:

  • Видаліть статистику додатків із web.config у розділі system.webserver.modules, знайдіть ApplicationInsightsWebTracking.

  • Видаліть усі префіксовані посилання Microsoft.AI (Application Insights) із посилань на проекти.

  • Видаліть усі пакети Microsoft.ApplicationInsights із package.config.

  • Видаліть файл 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||"//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();
    
    
    
  • Видаліть ai.0.15.0-build58334.js & ai.0.15.0-build58334.min.js з каталогу Scripts.

  • Очистити та відновити все.


1
Десь тому я намагався видалити його за допомогою Nuget, але це закінчилось ЗАГАЛЬНОЮ БЕЗПЕКОЮ із посиланнями ... Запропонований ручний підхід працював бездоганно! Дякую!
— Туко

1
Дуже вдячний, Ентоні. Єдине розуміння, яке я отримав від ApplicationInsights, полягало в тому, що Microsoft створює інструменти, які, здається, не служать ніякій іншій меті, як розбивати мої проекти.
— jp2code

Дякую. Я помітив , що також ErrorHandler / AiHandleErrorAttribute.cs , який зареєстрований в FilterConfig.cs
— обнуляється

47

Я волів би зробити це:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies

1
Це добре працює - очищає все, крім ApplicationInsights.config, який я видалив вручну.
— Джо Уайт

2
Це чудово. Чи є спосіб не додавати ApplicationInsights в першу чергу при створенні нового проекту?
— Бакстер

Так, це все.
— Франческо Б.

Ця відповідь повинна бути вищою!
— Дейв Шінкл,

Найпростіше і, мабуть, найкраще рішення.
— Мануель Плаза

13

Якщо ви використовуєте диспетчер пакунків NuGet для рішення (Інструменти -> Менеджер пакетів NuGet -> Керування пакетами NuGet для рішення), ви можете шукати ApplicationInsights та видалити пакет, і є можливість видалити залежності. Їх може бути декілька. Це найпростіший спосіб очистити ВСІ залежності, а не лише деякі.


Я думаю, що це найшвидший спосіб! Мені потрібно було лише видалити дві залежності ApplicationInsights, а не видаляти вручну 8! Дякую @DavidAllen
— hatsrumandcode

6

З новим проектом ASP.Net Core 1.1:

  • Видаліть nuget-пакет Microsoft.ApplicationInsights.AspNetCore
  • Видалити inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippetзі сторінки _Layout.cshtml
  • Видалити @Html.Raw(JavaScriptSnippet.FullScript)з _Layout.cshtml
  • Видалити .UseApplicationInsights()з program.cs

2

Я вирішив це, спершу видаливши всі пакети Application Insight з (Інструменти -> Менеджер пакунків NuGet -> Керування пакетами NuGet для рішення)

Потім побіг

Видалити-пакет Microsoft.AspNet.TelemetryCorrelation -Версія 1.0.0 -Видалити залежності

в консолі Nuget.

Це мені це виправило.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.