ลบ Application Insight จากแอปพลิเคชันบน Visual Studio 2013


86

ใน Visual Studio ฉันได้เพิ่มข้อมูลเชิงลึกของแอปพลิเคชันให้กับโปรเจ็กต์ที่สร้าง ApplicationInsights.config และไม่แน่ใจว่าไฟล์อื่น ๆ ถูกเพิ่มลงในโครงการ

สิ่งนี้คือการคลิกขวาและกด Add Application Insight นั้นค่อนข้างตรงไปตรงมา ตอนนี้ฉันกำลังหาวิธีลบข้อมูลเชิงลึกของแอปพลิเคชันสำหรับโครงการนั้นไม่สำเร็จ

ฉันจะบรรลุสิ่งนั้นได้อย่างไร?

บนเซิร์ฟเวอร์ที่ใช้งานจริงโดยใช้ DebugView ฉันเห็นบันทึกการส่งข้อมูลทางไกลแม้ว่าจะปิด Application Monitor Services บนเซิร์ฟเวอร์แล้วก็ตาม

ขอความช่วยเหลือใด ๆ ฉันต้องการกำจัดข้อมูลเชิงลึกของแอปพลิเคชันในแอปพลิเคชันนั้นโดยสิ้นเชิง


2
ฉันไม่เข้าใจว่าทำไม Microsoft จึงพยายามเพิ่มสิ่งที่ไร้ประโยชน์เช่น Application Insight ให้กับโปรเจ็กต์โดยไม่ต้องถาม?
Jalal

1
@Jalal ใช่มันทำให้ฉันนึกถึงการติดตั้งผลิตภัณฑ์ Apple ใด ๆ - IMO ของ Bloatware ขยะขององค์กร
ne1410s

คำตอบ:


57

เว้นแต่ว่าฉันจะเข้าใจคำถามผิดคุณควรจะต้องลบส่วนขยายเพียงรายการเดียวและอาจเป็นแพ็คเกจนักเก็ตหนึ่งชุด

ถอนการติดตั้งApplication Insights Tools สำหรับส่วนขยายVisual Studioและลบแพ็คเกจApplication Telemetry SDK for Services nuget แพ็คเกจ telemetry ได้รับการติดตั้งพร้อมกับ Application Insights แต่ต้องนำออกแยกต่างหาก

จากประสบการณ์ของฉันไม่จำเป็นต้องใช้แพ็คเกจ telemetry หากคุณต้องการใช้คุณสมบัติอื่น ๆ ของ Application Insights ต่อไป การลบแพ็คเกจ telemetry จะหยุดการบันทึกข้อมูลทางไกลทั้งหมด แต่ Application Insights จะยังคงรายงานข้อมูลที่ไม่ใช่ telemetry ต่อไป


ยอดเยี่ยมฉันไม่ทราบถึงแพคเกจ nuget SDK telemetry ขอบคุณ!
Bart Calixto

5
นี่ไม่ใช่คำตอบที่เป็นประโยชน์ถอนการติดตั้ง "Application Insights Tools for Visual Studio" จะลบข้อมูลเชิงลึกของแอปพลิเคชันออกและตอนนี้เมื่อฉันสร้างโครงการ asp.net 4.6.1 MVC มันไม่ได้ผล แสดงข้อผิดพลาด
Anirudha Gupta

@GuptaAnirudha ฉันมาที่นี่จริง ๆ เพราะฉันเจอปัญหาเดียวกัน คุณพบวิธีใดในการทำให้เทมเพลตใช้งานได้หลังจากลบ Insight Tools หรือไม่?
shortstuffsushi

2
@ user1393477 แล้ว Visual Studio 2015 ล่ะ? ฉันไม่เห็นส่วนขยายข้อมูลเชิงลึกของแอปพลิเคชันใด ๆ
keft

3
OP ถามวิธีลบ AI ออกจากแอปพลิเคชันไม่ใช่จาก VS.
ProfK

94

ฉันแค่ต้องการเพิ่มคำตอบที่ได้รับไปแล้วโดยเพิ่งผ่านขั้นตอนนี้ด้วยโครงการ ASP.NET MVC 5

ถอนการติดตั้งโดยใช้ NuGet

ดังที่คำตอบอื่น ๆ กล่าววิธีที่ดีที่สุดในการลบ Application Insights คือผ่าน Nuget: Tools -> NuGet Package Manager -> จัดการ NuGet Packages สำหรับโซลูชัน

ผมพบว่ามันดีที่สุดเพื่อลบ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 สำหรับเว็บแอปพลิเคชัน - ใช้เพื่อส่งข้อมูลทางไกลจากเซิร์ฟเวอร์
  • Application Insights API สำหรับแอปพลิเคชัน JavaScript - ใช้เพื่อส่งข้อมูลทางไกลจากไคลเอนต์

แพ็คเกจประกอบด้วยชุดประกอบเหล่านี้:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

แทรกรายการลงใน:

  • Web.config
  • package.config (โปรเจ็กต์ใหม่เท่านั้น - หากคุณเพิ่ม Application Insights ลงในโปรเจ็กต์ที่มีอยู่คุณต้องดำเนินการนี้ด้วยตนเอง) แทรกข้อมูลโค้ดลงในไคลเอนต์และโค้ดเซิร์ฟเวอร์เพื่อเริ่มต้นด้วย ID ทรัพยากร 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 แต่มันจบลงด้วย TOTAL MESS พร้อมการอ้างอิง ... วิธีการแบบแมนนวลที่แนะนำนั้นทำงานได้อย่างไม่มีที่ติ! ขอบคุณ!
Tuco

1
ชื่นชมมาก Anthony ข้อมูลเชิงลึกเดียวที่ฉันได้รับจากApplicationInsightsคือMicrosoftสร้างเครื่องมือที่ดูเหมือนจะไม่มีจุดประสงค์อื่นใดนอกจากทำลายโครงการของฉัน
jp2code

ขอบคุณ. ฉันสังเกตเห็นว่ายังมี ErrorHandler / AiHandleErrorAttribute.cs ซึ่งลงทะเบียนใน FilterConfig.cs
nullable

48

ฉันต้องการทำสิ่งนี้:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies

1
สิ่งนี้ใช้งานได้ดี - ทำความสะอาดทุกอย่างยกเว้น ApplicationInsights.config ซึ่งฉันลบด้วยตนเอง
Joe White

2
นี่มันเยี่ยมมาก มีวิธีที่จะไม่เพิ่ม ApplicationInsights ตั้งแต่แรกเมื่อสร้างโครงการใหม่หรือไม่?
Baxter

ใช่นั่นแหล่ะ
Francesco B.

คำตอบนี้ต้องสูงขึ้น!
Dave Shinkle

ง่ายที่สุดและน่าจะเป็นทางออกที่ดีที่สุด
Manuel Plaza

13

หากคุณใช้ NuGet Package Manager สำหรับโซลูชัน (Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution) คุณสามารถค้นหา ApplicationInsights และถอนการติดตั้งแพ็คเกจและมีตัวเลือกในการลบการอ้างอิง อาจมีหลายอย่าง นี่เป็นวิธีที่ง่ายที่สุดในการล้างข้อมูลอ้างอิงทั้งหมดไม่ใช่แค่บางส่วน


ฉันคิดว่านั่นเป็นวิธีที่เร็วที่สุด! ฉันต้องการถอนการติดตั้งการอ้างอิง ApplicationInsights สองตัวเท่านั้นแทนที่จะถอนการติดตั้ง 8! ขอบคุณ @DavidAllen
hatsrumandcode

6

ด้วยโครงการ ASP.Net Core 1.1 ใหม่:

  • ลบแพ็คเกจ Microsoft.ApplicationInsights.AspNetCore nuget
  • ลบออกinject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippetจากหน้า _Layout.cshtml
  • ลบออก@Html.Raw(JavaScriptSnippet.FullScript)จาก _Layout.cshtml
  • ลบออก.UseApplicationInsights()จาก program.cs

2

ฉันแก้ไขสิ่งนี้โดยการถอนการติดตั้งแพ็คเกจ Application Insight ทั้งหมดก่อนจาก (Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution)

แล้ววิ่ง

ถอนการติดตั้งแพ็คเกจ Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies

ในคอนโซล Nuget

ที่แก้ไขให้ฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.