Visual Studio 2013의 응용 프로그램에서 Application Insight 제거


86

Visual Studio에서 ApplicationInsights.config를 만드는 프로젝트에 애플리케이션 통찰력을 추가했지만 프로젝트에 어떤 다른 파일이 추가되었는지 확실하지 않습니다.

문제는 마우스 오른쪽 버튼을 클릭하고 Application Insight 추가를 누르면 매우 간단합니다. 이제는 해당 프로젝트에 대한 애플리케이션 통찰력을 제거하는 방법을 성공적으로 찾고 있습니다.

어떻게 할 수 있습니까?

프로덕션 서버에서 DebugView를 사용하면 서버에서 Application Monitor 서비스를 종료 한 후에도 원격 분석 로그가 표시됩니다.

도움을 주시면 해당 응용 프로그램에 대한 응용 프로그램 통찰력을 완전히 제거하고 싶습니다.


2
Microsoft가 요청하지 않고 Application Insight와 같은 소름 끼치는 쓸모없는 것을 프로젝트에 추가하려는 이유를 이해할 수 없습니까?
Jalal

1
@Jalal 예, 회사 블로 트웨어 쓰레기 IMO와 같은 Apple 제품을 설치하는 것을 상기시킵니다.
ne1410s

답변:


57

내가 질문을 오해하지 않는 한, 하나의 확장과 아마도 하나의 너겟 패키지 만 제거해야합니다.

제거 비주얼 스튜디오 신청 통찰력 도구 확장 및 제거 서비스에 대한 응용 프로그램 원격 측정 SDK를 nuget 패키지로 제공된다. 원격 분석 패키지는 Application Insights와 함께 설치되지만 별도로 제거해야합니다.

내 경험상 Application Insights의 다른 기능을 계속 사용하려는 경우 원격 분석 패키지가 필요하지 않습니다. 원격 분석 패키지를 제거하면 모든 원격 분석 로깅이 중지되지만 Application Insights는 계속해서 원격 분석이 아닌 정보를 정상적으로보고합니다.


훌륭합니다. 저는 텔레 메 트리 SDK 너겟 패키지를 알지 못했습니다. 감사!
Bart Calixto 2014

5
이것은 유용한 답변이 아닙니다. "Visual Studio 용 Application Insights 도구"를 제거하면 Application Insights가 제거되고 이제 asp.net 4.6.1 MVC 프로젝트를 만들 때 작동하지 않습니다. 오류를 보여줍니다.
Anirudha Gupta 2011

@GuptaAnirudha 같은 문제가 발생했기 때문에 실제로 여기에서 검색 중입니다. Insight 도구를 제거한 후 템플릿이 작동하도록하는 방법을 찾았습니까?
shortstuffsushi

2
@ user1393477 Visual Studio 2015는 어떻습니까? Application Insights 확장을 볼 수 없습니다.
keft dec.

3
OP는 VS가 아닌 응용 프로그램에서 AI를 제거하는 방법을 물었습니다.
ProfK 2017

94

ASP.NET MVC 5 프로젝트로이 프로세스를 방금 수행 한 후 이미 주어진 답변에 추가하고 싶었습니다.

NuGet을 사용하여 제거

다른 답변에서 말했듯이 Application Insights를 제거하는 가장 좋은 방법은 Nuget : 도구-> NuGet 패키지 관리자-> 솔루션 용 NuGet 패키지 관리를 사용하는 것입니다.

먼저 Microsoft.ApplicationInsights.Web 및 모든 종속성 을 제거한 다음 Microsoft.ApplicationInsights.Javascript API 를 제거하는 것이 가장 좋습니다 .

이것은 다음을 제외한 모든 것을 제거했습니다.

  • ApplicationInsights.config 파일,
  • _Layout.cshtml의 스크립트 스 니펫,

둘 다 수동으로 제거했습니다.

마이크로 소프트의 말

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-서버에서 원격 분석을 보내는 데 사용됩니다.
  • JavaScript 애플리케이션 용 Application Insights API-클라이언트에서 원격 분석을 보내는 데 사용됩니다.

패키지에는 다음 어셈블리가 포함됩니다.

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

항목을 다음에 삽입합니다.

  • Web.config
  • packages.config (새 프로젝트 만 해당-기존 프로젝트에 Application Insights를 추가하는 경우 수동으로 수행해야합니다.) 클라이언트 및 서버 코드에 조각을 삽입하여 Application Insights 리소스 ID로 초기화합니다. 예를 들어 MVC 앱에서 코드는 마스터 페이지 Views / Shared / _Layout.cshtml에 삽입됩니다.

수동으로 제거

NuGet없이 Application Insights를 제거하기 위해 또는 저처럼 신뢰할 수없고 제거되는 파일을 알고 싶은 경우 다음 단계를 따랐습니다.

  • web.config에서 system.webserver.modules 아래에서 ApplicationInsightsWebTracking을 검색하여 애플리케이션 통찰력을 제거합니다.

  • 프로젝트 참조에서 모든 Microsoft.AI (Application Insights) 접두사가 붙은 참조를 제거합니다.

  • package.config에서 모든 Microsoft.ApplicationInsights 패키지를 제거합니다.

  • 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();
    
    
    
  • Scripts 디렉토리에서 ai.0.15.0-build58334.js 및 ai.0.15.0-build58334.min.js를 제거합니다.

  • 모두 청소 및 재건하십시오.


1
얼마 전에 Nuget을 사용하여 제거하려고했지만 참조가 포함 된 총 메시지로 끝났습니다 ... 제안 된 수동 접근 방식은 완벽하게 작동했습니다! 감사!
Tuco

1
대단히 감사합니다, Anthony. ApplicationInsights 에서 얻은 유일한 통찰력 은 Microsoft가 내 프로젝트를 중단하는 것 외에 다른 목적이없는 것처럼 보이는 도구를 빌드한다는 것입니다.
jp2code

감사. FilterConfig.cs에 등록 된 ErrorHandler / AiHandleErrorAttribute.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 패키지 관리자를 사용하는 경우 (도구-> NuGet 패키지 관리자-> 솔루션 용 NuGet 패키지 관리) ApplicationInsights를 검색하고 패키지를 제거 할 수 있으며 종속성을 제거하는 옵션이 있습니다. 여러 개가있을 수 있습니다. 이것은 일부가 아닌 모든 종속성을 정리하는 가장 쉬운 방법입니다.


그게 가장 빠른 방법이라고 생각합니다! 수동으로 8을 제거하는 대신 ApplicationInsights 종속성 중 두 개만 제거하면됩니다! 감사합니다 @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

먼저 (도구-> NuGet 패키지 관리자-> 솔루션 용 NuGet 패키지 관리)에서 모든 Application Insight 패키지를 제거하여이 문제를 해결했습니다.

그런 다음 달렸다

Uninstall-Package Microsoft.AspNet.TelemetryCorrelation-버전 1.0.0 -RemoveDependencies

Nuget 콘솔에서.

그것은 나를 위해 그것을 고쳤습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.