Видаліть 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.