在Visual Studio上,我向项目添加了应用程序洞察,该项目创建了ApplicationInsights.config,并且不确定将哪些其他文件添加到项目中。
事情是,右键单击并按Add Application Insight非常简单。现在我看起来没有成功去除该项目的应用程序洞察力。
我怎样才能做到这一点?
在生产服务器上,使用DebugView,即使关闭服务器上的Application Monitor Services,我也会看到遥测日志。
感谢任何帮助,我想彻底摆脱对该应用程序的应用程序洞察力。
答案 0 :(得分:94)
我只想添加已经给出的答案,刚刚使用ASP.NET MVC 5项目完成了这个过程。
正如其他答案所说,删除Application Insights的最佳方法是通过Nuget:工具 - > NuGet包管理器 - >管理NuGet包以获得解决方案。
我发现最好首先删除 Microsoft.ApplicationInsights.Web 及其所有依赖项,然后 Microsoft.ApplicationInsights.Javascript API 。
除去了以下所有内容:
我手动删除了这两个。
此处的Microsoft Azure文档:https://azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/,说:
Application Insights在我的项目中修改了什么?
细节取决于项目类型。对于Web应用程序:
将这些文件添加到您的项目中:
- ApplicationInsights.config。
- ai.js
安装这些NuGet包:
- Application Insights API - 核心API
- 适用于Web应用程序的Application Insights API - 用于从服务器发送遥测
- 适用于JavaScript应用程序的Application Insights API - 用于从客户端发送遥测
包裹包括这些组件:
- Microsoft.ApplicationInsights
- Microsoft.ApplicationInsights.Platform
将项目插入:
- 的Web.config
- packages.config(仅限新项目 - 如果将Application Insights添加到现有项目,则必须手动执行此操作。)插入 snippets到客户端和服务器代码,用它来初始化它们 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();
删除ai.0.15.0-build58334.js&来自Scripts目录的ai.0.15.0-build58334.min.js。
清洁&重建所有。
答案 1 :(得分:56)
除非我误解了这个问题,否则你只需要删除一个扩展名和一个nuget包。
卸载适用于Visual Studio的应用程序洞察工具扩展程序,然后删除应用程序遥测SDK for Services nuget包。遥测包与Application Insights一起安装,但必须单独删除。
根据我的经验,如果您希望继续使用Application Insights的其他功能,则不需要遥测包。删除遥测包将停止所有遥测记录,但Application Insights将继续报告非遥测信息。
答案 2 :(得分:45)
我更愿意这样做:
UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies
答案 3 :(得分:13)
如果您使用NuGet包管理器来获得解决方案(工具 - > NuGet包管理器 - >管理解决方案的NuGet包),您可以搜索ApplicationInsights并卸载包,并且可以选择删除依赖项。可能有几个。这是清除所有依赖项的最简单方法,而不仅仅是一些依赖项。
答案 4 :(得分:6)
使用新的ASP.Net Core 1.1项目:
inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
@Html.Raw(JavaScriptSnippet.FullScript)
.UseApplicationInsights()
答案 5 :(得分:1)
我首先从(工具 - > NuGet包管理器 - >管理解决方案的NuGet包)中卸载所有Application Insight包来解决这个问题。
然后跑
Uninstall-Package Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies
在Nuget控制台中。
为我修好了。