从Visual Studio 2013的应用程序中删除Application Insight
在Visual Studio中,我将应用程序洞察添加到创buildApplicationInsights.config的项目中,但不确定将什么其他文件添加到项目中。
事情是,做正确的点击并按添加应用程序洞察是非常直接的。 现在我正在寻找没有成功的方法来删除该项目的应用程序洞察力。
我怎样才能做到这一点?
在生产服务器上,使用DebugView,即使closures服务器上的Application Monitor Services,我也能看到遥测日志。
任何帮助表示赞赏,我想完全摆脱该应用程序的应用程序洞察力。
除非我误解了这个问题,否则只能删除一个扩展名,也可能删除一个nuget包。
卸载适用于Visual Studio扩展程序的Application Insights Tools,并删除Application Telemetry SDK for Services nuget程序包。 遥测软件包与Application Insights一起安装,但必须单独移除。
根据我的经验,如果您希望继续使用Application Insights的其他function,则不需要使用遥测套件。 移除遥测包将停止所有遥测logging,但Application Insights将继续报告非遥测信息。
我只是想添加已经给出的答案,刚刚经历了一个ASP.NET MVC 5项目的过程。
卸载使用NuGet
正如其他答案所说,删除Application Insights的最好方法是通过Nuget:工具 – > NuGet包pipe理器 – >pipe理解决scheme的NuGet包。
我发现最好首先删除Microsoft.ApplicationInsights.Web及其所有依赖项,然后删除Microsoft.ApplicationInsights.Javascrtipt API 。
这删除了一切,除了:
- ApplicationInsights.config文件,
- _Layout.cshtml中的脚本片段,
这两个我手动删除。
微软有什么话要说
这里的Microsoft Azure文档: https : //azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/ ,说:
Application Insights在我的项目中修改了什么?
细节取决于项目的types。 对于Web应用程序:
将这些文件添加到您的项目中:
- ApplicationInsights.config。
- ai.js
安装这些NuGet软件包:
- Application Insights API – 核心API
- 应用程序Insights API for Web Applications – 用于从服务器发送遥测数据
- 应用程序洞察JavaScript应用程序API – 用于从客户端发送遥测
这些软件包包含以下组件:
- Microsoft.ApplicationInsights
- Microsoft.ApplicationInsights.Platform
将项目插入到:
- Web.config文件
- packages.config(仅限新build项目 – 如果将Application Insights添加到现有项目中,则必须手动完成此操作。)将代码片段插入到客户端和服务器代码中,以使用Application Insights资源ID对其进行初始化。 例如,在MVC应用程序中,代码被插入到母版页Views / Shared / _Layout.cshtml中
手动删除
要删除没有NuGet的应用程序见解,或者如果像我一样,你不信任它,并想知道哪些文件被删除,我遵循这些步骤:
-
从web.config中删除应用程序洞察,在system.webserver.modules下,searchApplicationInsightsWebTracking。
-
从项目引用中删除所有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||"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。
-
清洁和重build所有。
我宁愿这样做:
UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies
如果您使用NuGet软件包pipe理器(工具 – > NuGet软件包pipe理器 – >pipe理NuGet软件包的解决scheme),您可以searchApplicationInsights并卸载软件包,并有一个选项来删除依赖项。 可能有几个。 这是清除所有依赖关系的最简单方法,而不仅仅是一些。
通过一个新的ASP.Net Core 1.1项目:
- 删除Microsoft.ApplicationInsights.AspNetCore nuget包
- 从_Layout.cshtml页面中删除
inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
- 从
@Html.Raw(JavaScriptSnippet.FullScript)
删除@Html.Raw(JavaScriptSnippet.FullScript)
- 从program.cs中删除
.UseApplicationInsights()
我解决了这个问题,首先从(Tools – > NuGet Package Manager – > Manage NuGet Packages for Solution)卸载所有的Application Insight软件包,
然后跑了
卸载包Microsoft.AspNet.TelemetryCorrelation -Version 1.0.0 -RemoveDependencies
在Nuget控制台。
这为我修好了。
- GridView按代码隐藏列
- 从jquery post调用asp.net页面发送html标记时,客户端检测到潜在危险的Request.QueryString值
- 无法打开login请求的数据库“testing”。 login失败。 用户'xyz \ ASPNET'login失败
- replace为System.Web.HttpUtility.UrlEncode / UrlDecode ASP.NET 5
- 系统是未定义的
- ASP.NET中获取当前域的最好方法是什么?
- Razor View Engine是否适用于Mono?
- 我应该如何将多个parameter passing给ASP.Net Web API GET?
- jquery asp.netbutton通过ajax点击事件