Quitar Application Insight de la aplicación en Visual Studio 2013

86

En Visual Studio, agregué información sobre la aplicación a un proyecto que crea un ApplicationInsights.config y no estoy seguro de qué otros archivos se agregaron al proyecto.

La cosa es que hacer clic derecho y presionar Agregar Application Insight fue bastante sencillo. Ahora estoy buscando sin éxito una forma de eliminar la información de la aplicación para ese proyecto.

¿Cómo puedo lograrlo?

En el servidor de producción, al usar DebugView, veo los registros de telemetría, incluso después de cerrar los servicios del monitor de aplicaciones en el servidor.

Se agradece cualquier ayuda, quiero deshacerme completamente de la información de la aplicación en esa aplicación.

Bart Calixto
fuente
2
No puedo entender por qué Microsoft está tratando de agregar cosas horripilantes e inútiles como Application Insight a los proyectos sin preguntar.
Jalal
1
@Jalal Sí, me recuerda a la instalación de cualquier producto de Apple - IMO basura de bloatware corporativo.
ne1410s

Respuestas:

57

A menos que no haya entendido bien la pregunta, solo debería tener que eliminar una extensión y posiblemente un paquete nuget.

Desinstale la extensión Application Insights Tools para Visual Studio y elimine el paquete nuget de Application Telemetry SDK for Services . El paquete de telemetría se instala junto con Application Insights, pero debe eliminarse por separado.

En mi experiencia, el paquete de telemetría no es necesario si desea seguir utilizando otras funciones de Application Insights. La eliminación del paquete de telemetría detendrá todos los registros de telemetría, pero Application Insights continuará reportando información que no sea de telemetría sin problemas.

usuario1393477
fuente
excelente, no conocía el paquete nuget del SDK de telemetría. ¡GRACIAS!
Bart Calixto
5
Esta no es una respuesta útil, desinstale "Application Insights Tools para Visual Studio", elimine la aplicación Insights y ahora, cuando creo el proyecto asp.net 4.6.1 MVC, no funciona. Me muestra un error.
Anirudha Gupta
@GuptaAnirudha En realidad estoy aquí buscando porque encontré el mismo problema. ¿Encontró alguna forma de hacer que las plantillas funcionen después de eliminar las herramientas Insight?
shortstuffsushi
2
@ user1393477 ¿Qué pasa con Visual Studio 2015? No veo ninguna extensión de Application Insights.
keft
3
El OP preguntó cómo eliminar AI de una aplicación, no de VS.
ProfK
94

Solo quería agregar a las respuestas ya dadas, después de haber pasado por este proceso con un proyecto ASP.NET MVC 5.

Desinstalar con NuGet

Como dicen las otras respuestas, la mejor manera de eliminar Application Insights es a través de Nuget: Herramientas -> Administrador de paquetes NuGet -> Administrar paquetes NuGet para la solución.

Encontré que es mejor eliminar Microsoft.ApplicationInsights.Web y todas sus dependencias primero, luego Microsoft.ApplicationInsights.Javascript API .

Esto eliminó todo excepto:

  • el archivo ApplicationInsights.config,
  • un fragmento de secuencia de comandos en _Layout.cshtml,

ambos de los cuales eliminé manualmente.

Lo que Microsoft tiene que decir

La documentación de Microsoft Azure aquí: https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/ , dice:

¿Qué modifica Application Insights en mi proyecto?

Los detalles dependen del tipo de proyecto. Para una aplicación web:

Agrega estos archivos a su proyecto:

  • ApplicationInsights.config.
  • ai.js

Instala estos paquetes de NuGet:

  • API de Application Insights: la API principal
  • API de Application Insights para aplicaciones web: se utiliza para enviar telemetría desde el servidor
  • API de Application Insights para aplicaciones JavaScript: se utiliza para enviar telemetría desde el cliente

Los paquetes incluyen estos ensamblajes:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

Inserta elementos en:

  • Web.config
  • packages.config (Solo proyectos nuevos: si agrega Application Insights a un proyecto existente, debe hacerlo manualmente). Inserta fragmentos en el código del cliente y del servidor para inicializarlos con el ID de recurso de Application Insights. Por ejemplo, en una aplicación MVC, el código se inserta en la página maestra Views / Shared / _Layout.cshtml

Quitar manualmente

Para eliminar Application Insights sin NuGet, o si, como yo, no confía en él y desea saber qué archivos se eliminan, seguí estos pasos:

  • Elimine la información de la aplicación de web.config, en system.webserver.modules, busque ApplicationInsightsWebTracking.

  • Elimine todas las referencias prefijadas de Microsoft.AI (Application Insights) de las referencias del proyecto.

  • Elimine todos los paquetes de Microsoft.ApplicationInsights de package.config.

  • Elimine el archivo ApplicationInsights.config.

  • Elimine el script de _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();
    
    
    
  • Elimine ai.0.15.0-build58334.js & ai.0.15.0-build58334.min.js del directorio Scripts.

  • Limpiar y reconstruir todo.

Antonio
fuente
1
Hace algún tiempo traté de eliminarlo usando Nuget, pero terminó en un TOTAL MESS con las referencias ... ¡El enfoque manual sugerido funcionó perfectamente! ¡Gracias!
Tuco
1
Muy apreciado, Anthony. La única idea que obtuve de ApplicationInsights fue que Microsoft crea herramientas que parecen no tener otro propósito que romper mis proyectos.
jp2code
Gracias. Noté que también hay un ErrorHandler / AiHandleErrorAttribute.cs que está registrado en FilterConfig.cs
anulable
47

Preferiría hacer esto:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies
romano
fuente
1
Esto funciona bien: limpia todo excepto ApplicationInsights.config, que eliminé manualmente.
Joe White
2
Esto es genial. ¿Hay alguna manera de no agregar ApplicationInsights en primer lugar al crear un nuevo proyecto?
Baxter
Sí, eso es todo.
Francesco B.
¡Esta respuesta debe ser más alta!
Dave Shinkle
La solución más fácil y probablemente la mejor.
Manuel Plaza
13

Si usa el Administrador de paquetes NuGet para la solución (Herramientas -> Administrador de paquetes NuGet -> Administrar paquetes NuGet para la solución), puede buscar ApplicationInsights y desinstalar el paquete, y hay una opción para eliminar las dependencias. Puede haber varios. Esta es la forma más sencilla de limpiar TODAS las dependencias, no solo algunas.

David Allen
fuente
¡Creo que es la forma más rápida! ¡Solo necesitaba desinstalar dos de las dependencias de ApplicationInsights, en lugar de desinstalar 8 manualmente! Gracias @DavidAllen
hatsrumandcode
6

Con un nuevo proyecto ASP.Net Core 1.1:

  • Quitar el paquete nuget Microsoft.ApplicationInsights.AspNetCore
  • Eliminar inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippetde la página _Layout.cshtml
  • Eliminar @Html.Raw(JavaScriptSnippet.FullScript)de _Layout.cshtml
  • Eliminar .UseApplicationInsights()de program.cs
Bidjes
fuente
2

Resolví esto desinstalando primero todos los paquetes de Application Insight desde (Herramientas -> Administrador de paquetes NuGet -> Administrar paquetes NuGet para la solución)

Entonces corrió

Paquete de desinstalación Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies

en la consola de Nuget.

Eso me lo arregló.

Obodeh Egheose
fuente