Visual Studio 2013'te Application Insight'ı uygulamadan kaldırın


86

Visual Studio'da bir ApplicationInsights.config oluşturan ve projeye başka hangi dosyaların eklendiğinden emin olmayan bir projeye uygulama içgörüleri ekledim.

İşin aslı, sağ tıklayıp Uygulama İçgörü Ekle'ye basmak oldukça basitti. Şimdi başarılı olamadan bu proje için uygulama içgörüsünü kaldırmanın bir yolunu arıyorum.

Bunu nasıl başarabilirim?

Üretim sunucusunda DebugView kullanarak, sunucudaki Uygulama İzleme Hizmetlerini kapattıktan sonra bile telemetri günlüklerini görüyorum.

Herhangi bir yardım için minnettarım, o uygulamadaki uygulama içgörüsünden tamamen kurtulmak istiyorum.


2
Microsoft'un neden istemeden projelere Application Insight gibi ürkütücü işe yaramaz şeyler eklemeye çalıştığını anlayamıyorum?
Jalal

1
@Jalal Evet, bana herhangi bir Apple ürününü yüklemeyi hatırlatıyor - kurumsal bloatware çöp IMO.
ne1410s

Yanıtlar:


57

Soruyu yanlış anlamıyorsam, sadece bir uzantıyı ve muhtemelen bir nuget paketini kaldırmanız gerekir.

Kaldırma Visual Studio için Başvuru Insights Araçları uzantısı ve kaldırmak Hizmetleri Uygulama Telemetri SDK Nuget pakette. Telemetri paketi Application Insights ile birlikte yüklenir ancak ayrı olarak kaldırılmalıdır.

Tecrübelerime göre, Application Insights'ın diğer özelliklerini kullanmaya devam etmek istiyorsanız telemetri paketi gerekli değildir. Telemetri paketinin kaldırılması tüm telemetri günlüklerini durdurur, ancak Application Insights telemetri dışı bilgileri sorunsuz şekilde rapor etmeye devam eder.


mükemmel, telemetri SDK nuget paketinin farkında değildim. TEŞEKKÜRLER!
Bart Calixto

5
Bu yararlı bir cevap değil, "Visual Studio için Application Insights Araçları" nı kaldırın, Insights uygulamasını kaldırın ve şimdi asp.net 4.6.1 MVC projesi oluşturduğumda çalışmıyor. Bana hata gösteriyor.
Anirudha Gupta

@GuptaAnirudha Aslında burada arıyorum çünkü aynı sorunla karşılaştım. Insight Tools'u kaldırdıktan sonra şablonları çalıştırmanın bir yolunu buldunuz mu?
shortstuffsushi

2
@ user1393477 Peki ya Visual Studio 2015? Herhangi bir Application Insights Uzantısını göremiyorum.
keft

3
OP, AI'nın VS'den değil bir uygulamadan nasıl kaldırılacağını sordu.
ProfK

94

Sadece bir ASP.NET MVC 5 projesiyle bu süreci tamamladıktan sonra, daha önce verilen cevaplara eklemek istedim.

NuGet Kullanarak Kaldırma

Diğer yanıtların dediği gibi, Application Insights'ı kaldırmanın en iyi yolu Nuget'ten geçer: Araçlar -> NuGet Paket Yöneticisi -> Çözüm için NuGet Paketlerini Yönet.

En iyisi önce Microsoft.ApplicationInsights.Web'i ve tüm bağımlılıklarını, ardından Microsoft.ApplicationInsights.Javascript API'sini kaldırmayı buldum .

Bu, şunlar hariç her şeyi kaldırdı:

  • ApplicationInsights.config dosyası,
  • _Layout.cshtml'de bir komut dosyası snippet'i,

her ikisini de manuel olarak kaldırdım.

Microsoft'un söylemesi gereken

Buradaki Microsoft Azure belgeleri: https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/ diyor ki:

Application Insights projemde neyi değiştiriyor?

Detaylar proje türüne bağlıdır. Bir web uygulaması için:

Bu dosyaları projenize ekler:

  • ApplicationInsights.config.
  • ai.js

Bu NuGet paketlerini yükler:

  • Application Insights API - temel API
  • Web Uygulamaları için Application Insights API - sunucudan telemetri göndermek için kullanılır
  • JavaScript Uygulamaları için Application Insights API - istemciden telemetri göndermek için kullanılır

Paketler şu derlemeleri içerir:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

Öğeleri şuraya ekler:

  • Web.config
  • package.config (Yalnızca yeni projeler - mevcut bir projeye Application Insights eklerseniz, bunu manuel olarak yapmanız gerekir.) Application Insights kaynak kimliğiyle başlatmak için istemci ve sunucu koduna parçacıklar ekler. Örneğin, bir MVC uygulamasında kod, Görünümler / Paylaşılan / _Layout.cshtml ana sayfasına eklenir.

Manuel Olarak Kaldır

Uygulama Öngörülerini NuGet olmadan kaldırmak için veya benim gibi ona güvenmiyorsanız ve hangi dosyaların kaldırıldığını bilmek istiyorsanız, şu adımları izledim:

  • System.webserver.modules altında web.config'den uygulama içgörülerini kaldırın, ApplicationInsightsWebTracking'i arayın.

  • Tüm Microsoft.AI (Application Insights) önekli referanslarını proje referanslarından kaldırın.

  • Tüm Microsoft.ApplicationInsights paketlerini package.config dosyasından kaldırın.

  • ApplicationInsights.config dosyasını silin.

  • _Layout.cshtml dosyasından komut dosyasını kaldırın:

    
    
    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'yi Scripts dizininden kaldırın.

  • Tümünü Temizle ve Yeniden Oluştur.


1
Bir süre önce Nuget kullanarak onu kaldırmaya çalıştım, ancak referanslarla birlikte TOTAL MESS ile sonuçlandı ... Önerilen manuel yaklaşım kusursuz bir şekilde çalıştı! Teşekkürler!
Tuco

1
Çok minnettar, Anthony. ApplicationInsights'tan edindiğim tek fikir , Microsoft'un projelerimi bozmaktan başka bir amaca hizmet etmediği görülen araçlar geliştirmesiydi.
jp2code

Teşekkürler. Ayrıca bir ErrorHandler / AiHandleErrorAttribute.cs olduğunu fark ettim ki bu FilterConfig.cs
nullable

48

Bunu yapmayı tercih ederim:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies

1
Bu iyi çalışıyor - manuel olarak kaldırdığım ApplicationInsights.config dışındaki her şeyi temizliyor.
Joe White

2
Bu harika. Yeni bir proje oluştururken ilk etapta ApplicationInsights eklememenin bir yolu var mı?
Baxter

Evet, işte bu.
Francesco

Bu cevabın daha yüksek olması gerekiyor!
Dave Shinkle

En kolay ve muhtemelen en iyi çözüm.
Manuel Plaza

13

Çözüm için NuGet Paket Yöneticisi'ni kullanırsanız (Araçlar -> NuGet Paket Yöneticisi -> Çözüm için NuGet Paketlerini Yönetin) ApplicationInsights'ı arayabilir ve paketi kaldırabilirsiniz ve bağımlılıkları kaldırma seçeneği vardır. Birkaç tane olabilir. Bu, yalnızca bazılarını değil TÜM bağımlılıkları temizlemenin en kolay yoludur.


Bence en hızlı yol bu! 8'i manuel olarak kaldırmak yerine, ApplicationInsights bağımlılıklarından yalnızca ikisini kaldırmam gerekti! Teşekkürler @DavidAllen
hatsrumandcode

6

Yeni bir ASP.Net Core 1.1 projesiyle:

  • Microsoft.ApplicationInsights.AspNetCore nuget paketini kaldırın
  • Kaldırmak inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet_Layout.cshtml sayfasından
  • @Html.Raw(JavaScriptSnippet.FullScript)_Layout.cshtml'den kaldır
  • .UseApplicationInsights()Program.cs dosyasından kaldır

2

Bunu önce tüm Application Insight paketlerini (Araçlar -> NuGet Paket Yöneticisi -> Çözüm için NuGet Paketlerini Yönet) kaldırarak çözdüm

Sonra koştu

Kaldırma Paketi Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies

Nuget konsolunda.

Bu benim için sorunumu çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.