Xóa Application Insight khỏi ứng dụng trên Visual Studio 2013


86

Trên Visual Studio, tôi đã thêm thông tin chi tiết về ứng dụng vào một dự án tạo ra một ApplicationInsights.config và không chắc chắn những tệp nào khác đã được thêm vào dự án.

Điều đó là, thực hiện nhấp chuột phải và nhấn Thêm Thông tin chi tiết ứng dụng khá dễ dàng. Bây giờ tôi đang tìm cách không thành công để loại bỏ thông tin chi tiết về ứng dụng cho dự án đó.

Làm thế nào tôi có thể đạt được điều đó?

Trên máy chủ sản xuất, sử dụng DebugView, tôi thấy nhật ký đo từ xa, ngay cả sau khi tắt Dịch vụ giám sát ứng dụng trên máy chủ.

Bất kỳ trợ giúp nào cũng được đánh giá cao, tôi muốn thoát khỏi hoàn toàn thông tin chi tiết về ứng dụng trên ứng dụng đó.


2
Tôi không thể hiểu tại sao Microsoft lại cố gắng thêm những thứ vô dụng đáng sợ như Application Insight vào các dự án mà không hỏi?
Jalal

1
@Jalal Vâng, nó nhắc tôi nhớ đến việc cài đặt bất kỳ sản phẩm nào của Apple - IMO rác của công ty.
ne1410s

Câu trả lời:


57

Trừ khi tôi hiểu sai câu hỏi, bạn chỉ nên xóa một phần mở rộng và có thể là một gói nuget.

Gỡ cài đặt phần mở rộng Application Insights Tools cho Visual Studio và xóa gói nuget Application Telemetry SDK cho Dịch vụ . Gói đo từ xa được cài đặt cùng với Application Insights nhưng phải được gỡ bỏ riêng.

Theo kinh nghiệm của tôi, gói đo từ xa không bắt buộc nếu bạn muốn tiếp tục sử dụng các tính năng khác của Application Insights. Xóa gói đo từ xa sẽ dừng tất cả ghi nhật ký đo từ xa nhưng Application Insights sẽ tiếp tục báo cáo thông tin không đo từ xa.


tuyệt vời, tôi không biết về gói nuget SDK đo từ xa. CẢM ƠN!
Bart Calixto

5
Đây không phải là câu trả lời hữu ích, Gỡ cài đặt "Công cụ Thông tin chi tiết về Ứng dụng cho Visual Studio" hãy xóa Thông tin chi tiết ứng dụng và bây giờ khi tôi tạo dự án asp.net 4.6.1 MVC, nó không hoạt động. Nó cho tôi thấy lỗi.
Anirudha Gupta

@GuptaAnirudha Tôi thực sự đang tìm kiếm ở đây vì tôi gặp phải vấn đề tương tự. Bạn có tìm thấy bất kỳ cách nào để làm cho các mẫu hoạt động sau khi xóa Công cụ Insight không?
shortstuffsushi

2
@ user1393477 Còn Visual Studio 2015 thì sao? Tôi không thể thấy bất kỳ Tiện ích mở rộng thông tin chi tiết về ứng dụng nào.
keft

3
OP đã hỏi cách xóa AI khỏi ứng dụng, không phải từ VS.
ProfK

94

Tôi chỉ muốn thêm vào các câu trả lời đã được đưa ra, vừa trải qua quá trình này với một dự án ASP.NET MVC 5.

Gỡ cài đặt bằng NuGet

Như các câu trả lời khác đã nói, cách tốt nhất để xóa Thông tin chi tiết về ứng dụng là thông qua Nuget: Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution.

Tôi thấy tốt nhất là nên xóa Microsoft.ApplicationInsights.Web và tất cả các phụ thuộc của nó trước, sau đó là Microsoft.ApplicationInsights.Javascript API .

Điều này đã xóa mọi thứ ngoại trừ:

  • tệp ApplicationInsights.config,
  • đoạn mã script trong _Layout.cshtml,

cả hai thứ mà tôi đã xóa theo cách thủ công.

Những gì Microsoft phải nói

Tài liệu Microsoft Azure tại đây: https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/ , cho biết:

Thông tin chi tiết về ứng dụng sửa đổi điều gì trong dự án của tôi?

Các chi tiết phụ thuộc vào loại dự án. Đối với một ứng dụng web:

Thêm các tệp này vào dự án của bạn:

  • ApplicationInsights.config.
  • ai.js

Cài đặt các gói NuGet này:

  • API thông tin chi tiết về ứng dụng - API cốt lõi
  • API thông tin chi tiết về ứng dụng dành cho ứng dụng web - được sử dụng để gửi phép đo từ xa từ máy chủ
  • API thông tin chi tiết về ứng dụng cho các ứng dụng JavaScript - được sử dụng để gửi phép đo từ xa từ máy khách

Các gói bao gồm các cụm sau:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

Chèn các mục vào:

  • Web.config
  • package.config (Chỉ các dự án mới - nếu bạn thêm Thông tin chi tiết về ứng dụng vào dự án hiện có, bạn phải thực hiện việc này theo cách thủ công.) Chèn các đoạn mã vào mã máy khách và máy chủ để khởi tạo chúng bằng ID tài nguyên Thông tin chi tiết về ứng dụng. Ví dụ: trong ứng dụng MVC, mã được chèn vào trang chính Views / Shared / _Layout.cshtml

Xóa thủ công

Để xóa Thông tin chi tiết về ứng dụng mà không có NuGet, hoặc nếu giống như tôi, bạn không tin tưởng nó và muốn biết tệp nào bị xóa, tôi đã làm theo các bước sau:

  • Xóa thông tin chi tiết về ứng dụng khỏi web.config, trong system.webserver.modules, tìm kiếm ApplicationInsightsWebTracking.

  • Xóa tất cả các tham chiếu có tiền tố Microsoft.AI (Application Insights) khỏi các tham chiếu dự án.

  • Loại bỏ tất cả các gói Microsoft.ApplicationInsights khỏi package.config.

  • Xóa tệp ApplicationInsights.config.

  • Xóa tập lệnh khỏi _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();
    
    
    
  • Xóa ai.0.15.0-build58334.js & ai.0.15.0-build58334.min.js khỏi thư mục Scripts.

  • Làm sạch và xây dựng lại tất cả.


1
Cách đây một thời gian, tôi đã cố gắng xóa nó bằng Nuget, nhưng nó đã kết thúc bằng TOTAL MESS với các tham chiếu ... Phương pháp thủ công được đề xuất đã hoạt động hoàn hảo! Cảm ơn!
Tuco

1
Rất cảm kích, Anthony. Thông tin chi tiết duy nhất tôi nhận được từ ApplicationInsightsMicrosoft xây dựng các công cụ dường như không phục vụ mục đích nào khác ngoài việc phá vỡ các dự án của tôi.
jp2code

Cảm ơn. Tôi nhận thấy cũng có một ErrorHandler / AiHandleErrorAttribute.cs được đăng ký trong FilterConfig.cs
nullable

47

Tôi muốn làm điều này hơn:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies

1
Điều này hoạt động tốt - nó dọn dẹp mọi thứ ngoại trừ ApplicationInsights.config mà tôi đã xóa theo cách thủ công.
Joe White,

2
Điều đó thật tuyệt. Có cách nào để không thêm ApplicationInsights ngay từ đầu khi tạo một dự án mới không?
Baxter

Đúng vậy.
Francesco B.

Câu trả lời này cần cao hơn!
Dave Shinkle

Dễ nhất và có lẽ là giải pháp tốt nhất.
Manuel Plaza

13

Nếu bạn sử dụng Trình quản lý gói NuGet cho giải pháp (Công cụ -> Trình quản lý gói NuGet -> Quản lý gói NuGet cho Giải pháp), bạn có thể tìm kiếm ApplicationInsights và gỡ cài đặt gói, đồng thời có tùy chọn để xóa các phần phụ thuộc. Có thể có một số. Đây là cách dễ nhất để xóa TẤT CẢ các phần phụ thuộc, không chỉ một số.


Tôi nghĩ đó là cách nhanh nhất! Tôi chỉ cần gỡ cài đặt hai trong số các phụ thuộc ApplicationInsights, thay vì gỡ cài đặt 8 theo cách thủ công! Cảm ơn @DavidAllen
hatrumandcode

6

Với một dự án ASP.Net Core 1.1 mới:

  • Loại bỏ gói nuget Microsoft.ApplicationInsights.AspNetCore
  • Xóa inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippetkhỏi trang _Layout.cshtml
  • Xóa @Html.Raw(JavaScriptSnippet.FullScript)khỏi _Layout.cshtml
  • Xóa .UseApplicationInsights()khỏi chương trình.cs

2

Trước tiên, tôi đã giải quyết vấn đề này bằng cách gỡ cài đặt tất cả các gói Application Insight khỏi (Công cụ -> Trình quản lý gói NuGet -> Quản lý Gói NuGet cho Giải pháp)

Sau đó chạy

Gỡ cài đặt-Gói Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies

trong bảng điều khiển Nuget.

Điều đó đã sửa nó cho tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.