Hapus Application Insight dari aplikasi di Visual Studio 2013

86

Pada Visual Studio saya menambahkan wawasan aplikasi ke proyek yang membuat ApplicationInsights.config dan tidak yakin file lain apa yang ditambahkan ke proyek.

Masalahnya, melakukan klik kanan dan tekan Add Application Insight cukup mudah. Sekarang saya tidak berhasil mencari cara untuk menghapus wawasan aplikasi untuk proyek itu.

Bagaimana saya bisa mencapai itu?

Pada server produksi, menggunakan DebugView, saya melihat log telemetri, bahkan setelah mematikan Layanan Monitor Aplikasi di server.

Bantuan apa pun dihargai, saya ingin sepenuhnya menyingkirkan wawasan aplikasi tentang aplikasi itu.

Bart Calixto
sumber
2
Saya tidak mengerti mengapa Microsoft mencoba menambahkan hal-hal tidak berguna yang menyeramkan seperti Application Insight ke proyek tanpa bertanya?
Jalal
1
@Jalal Ya itu mengingatkan saya untuk menginstal produk Apple - IMO sampah bloatware perusahaan.
ne1410s

Jawaban:

57

Kecuali saya salah paham, Anda hanya perlu menghapus satu ekstensi dan mungkin satu paket nuget.

Copot pemasangan Alat Wawasan Aplikasi untuk ekstensi Visual Studio dan hapus paket nuget Application Telemetry SDK for Services . Paket telemetri dipasang bersama dengan Application Insights tetapi harus dihapus secara terpisah.

Menurut pengalaman saya, paket telemetri tidak diperlukan jika Anda ingin tetap menggunakan fitur lain dari Application Insights. Menghapus paket telemetri akan menghentikan semua pencatatan telemetri tetapi Application Insights akan terus melaporkan informasi non-telemetri dengan baik.

pengguna1393477
sumber
luar biasa, saya tidak mengetahui paket nuget SDK telemetri. TERIMA KASIH!
Bart Calixto
5
Ini tidak membantu jawaban, Uninstall "Application Insights Tools for Visual Studio" menghapus aplikasi Insights dan sekarang ketika saya membuat proyek asp.net 4.6.1 MVC tidak bekerja. Ini menunjukkan saya kesalahan.
Anirudha Gupta
@GuptaAnirudha Sebenarnya saya di sini mencari karena saya mengalami masalah yang sama. Apakah Anda menemukan cara untuk membuat templat berfungsi setelah menghapus Alat Wawasan?
shortstuffsushi
2
@ user1393477 Bagaimana dengan Visual Studio 2015? Saya tidak dapat melihat Ekstensi Wawasan Aplikasi apa pun.
keft
3
OP bertanya bagaimana cara menghapus AI dari aplikasi, bukan dari VS.
ProfK
94

Saya hanya ingin menambahkan jawaban yang sudah diberikan, baru saja melalui proses ini dengan proyek ASP.NET MVC 5.

Copot Pemasangan Menggunakan NuGet

Seperti jawaban lain, cara terbaik untuk menghapus Application Insights adalah melalui Nuget: Tools -> NuGet Package Manager -> Kelola Paket NuGet untuk Solusi.

Saya menemukan yang terbaik untuk menghapus Microsoft.ApplicationInsights.Web dan semua dependensinya terlebih dahulu, kemudian Microsoft.ApplicationInsights.Javascript API .

Ini menghapus semuanya kecuali:

  • file ApplicationInsights.config,
  • cuplikan skrip di _Layout.cshtml,

keduanya saya hapus secara manual.

Apa yang Microsoft katakan

Dokumentasi Microsoft Azure di sini: https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/ , mengatakan:

Apa yang diubah oleh Application Insights dalam proyek saya?

Detailnya tergantung pada jenis proyek. Untuk aplikasi web:

Tambahkan file-file ini ke proyek Anda:

  • ApplicationInsights.config.
  • ai.js

Instal paket NuGet ini:

  • Application Insights API - API inti
  • Application Insights API for Web Applications - digunakan untuk mengirim telemetri dari server
  • Application Insights API for JavaScript Applications - digunakan untuk mengirim telemetri dari klien

Paket termasuk rakitan ini:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

Memasukkan item ke:

  • Web.config
  • packages.config (Khusus project baru - jika Anda menambahkan Application Insights ke project yang ada, Anda harus melakukannya secara manual.) Menyisipkan cuplikan ke dalam kode klien dan server untuk menginisialisasi mereka dengan ID resource Application Insights. Misalnya, dalam aplikasi MVC, kode disisipkan ke halaman master Views / Shared / _Layout.cshtml

Hapus Secara Manual

Untuk menghapus Application Insights tanpa NuGet, atau jika seperti saya Anda tidak mempercayainya dan ingin tahu file mana yang dihapus, saya mengikuti langkah-langkah berikut:

  • Hapus wawasan aplikasi dari web.config, di bawah system.webserver.modules, cari ApplicationInsightsWebTracking.

  • Hapus semua referensi awalan Microsoft.AI (Application Insights) dari referensi proyek.

  • Hapus semua paket Microsoft.ApplicationInsights dari package.config.

  • Hapus file ApplicationInsights.config.

  • Hapus skrip dari _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();
    
    
    
  • Hapus ai.0.15.0-build58334.js & ai.0.15.0-build58334.min.js dari direktori Scripts.

  • Bersihkan & Bangun kembali semua.

Anthony
sumber
1
Beberapa waktu yang lalu saya mencoba untuk menghapusnya menggunakan Nuget, tetapi berakhir dengan TOTAL MESS dengan referensi ... Pendekatan manual yang disarankan bekerja dengan sempurna! Terima kasih!
Tuco
1
Sangat dihargai, Anthony. Satu-satunya wawasan yang saya dapatkan dari ApplicationInsights adalah bahwa Microsoft membuat alat yang tampaknya tidak memiliki tujuan selain untuk menghancurkan proyek saya.
jp2code
Terima kasih. Saya perhatikan ada juga ErrorHandler / AiHandleErrorAttribute.cs yang terdaftar di FilterConfig.cs
nullable
48

Saya lebih suka melakukan ini:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies
Roma
sumber
1
Ini bekerja dengan baik - itu membersihkan semuanya kecuali ApplicationInsights.config, yang saya hapus secara manual.
Joe White
2
Ini bagus. Apakah ada cara untuk tidak menambahkan ApplicationInsights saat membuat proyek baru?
Baxter
Ya, itu dia.
Francesco B.
Jawaban ini harus lebih tinggi!
Dave Shinkle
Solusi termudah dan mungkin terbaik.
Manuel Plaza
13

Jika Anda menggunakan NuGet Package Manager untuk solusinya (Alat -> NuGet Package Manager -> Kelola Paket NuGet untuk Solusi) Anda dapat mencari ApplicationInsights dan menghapus paket, dan ada opsi untuk menghapus ketergantungan. Mungkin ada beberapa. Ini adalah cara termudah untuk membersihkan SEMUA dependensi, bukan hanya beberapa.

David Allen
sumber
Saya pikir itu cara tercepat! Saya hanya perlu menghapus dua dari ketergantungan ApplicationInsights, daripada mencopot pemasangan 8 secara manual! Terima kasih @DavidAllen
hatsrumandcode
6

Dengan proyek ASP.Net Core 1.1 baru:

  • Hapus paket nuget Microsoft.ApplicationInsights.AspNetCore
  • Hapus inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippetdari halaman _Layout.cshtml
  • Hapus @Html.Raw(JavaScriptSnippet.FullScript)dari _Layout.cshtml
  • Hapus .UseApplicationInsights()dari program.cs
Bidjes
sumber
2

Saya menyelesaikan ini dengan terlebih dahulu menghapus semua paket Application Insight dari (Alat -> NuGet Package Manager -> Kelola Paket NuGet untuk Solusi)

Lalu lari

Uninstall-Package Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies

di konsol Nuget.

Itu memperbaikinya untuk saya.

Obodeh Egheose
sumber