Visual Studio2013のアプリケーションからApplicationInsightを削除します


86

Visual Studioで、ApplicationInsights.configを作成するプロジェクトにアプリケーションインサイトを追加しましたが、プロジェクトに追加された他のファイルがわかりません。

右クリックして[アプリケーションインサイトの追加]を押すのは非常に簡単でした。現在、そのプロジェクトのアプリケーションインサイトを削除する方法を探していますが、成功していません。

どうすればそれを達成できますか?

本番サーバーでは、DebugViewを使用して、サーバー上のApplication Monitor Servicesをシャットダウンした後でも、テレメトリログが表示されます。

どんな助けでもありがたいです、私はそのアプリケーションに関するアプリケーションの洞察を完全に取り除きたいです。


2
マイクロソフトがなぜApplicationInsightのような不気味な役に立たないものをプロジェクトに追加しようとしているのか理解できません。
ジャラル

1
@Jalalうん、それは私にアップル製品をインストールすることを思い出させる-企業のブロートウェアガベージIMO。
ne1410s 2018年

回答:


57

質問を誤解しない限り、1つの拡張機能と場合によっては1つのnugetパッケージを削除するだけで済みます。

VisualStudio拡張機能ApplicationInsights Toolsをアンインストールし、Application Telemetry SDK for Servicesnugetパッケージを削除します。テレメトリパッケージはApplicationInsightsと一緒にインストールされますが、個別に削除する必要があります。

私の経験では、Application Insightsの他の機能を引き続き使用する場合は、テレメトリパッケージは必要ありません。テレメトリパッケージを削除すると、すべてのテレメトリロギングが停止しますが、ApplicationInsightsは引き続き非テレメトリ情報を問題なく報告します。


すばらしい、私はテレメトリSDKnugetパッケージを知りませんでした。ありがとう!
Bart Calixto 2014

5
これは役に立たない答えです。「VisualStudio用のApplicationInsightsツール」をアンインストールすると、アプリケーションInsightsが削除され、asp.net 4.6.1MVCプロジェクトを作成しても機能しません。エラーが表示されます。
Anirudha Gupta 2016

@GuptaAnirudha同じ問題が発生したため、実際にここで検索しています。Insight Toolsを削除した後、テンプレートを機能させる方法を見つけましたか?
shortstuffsushi 2016年

2
@ user1393477 Visual Studio 2015はどうですか?ApplicationInsights拡張機能が表示されません。
keft 2016

3
OPは、VSからではなくアプリケーションからAIを削除する方法を尋ねました。
ProfK 2017

94

ASP.NET MVC 5プロジェクトでこのプロセスを実行したばかりなので、すでに与えられた回答に追加したかっただけです。

NuGetを使用してアンインストールする

他の回答が示すように、Application Insightsを削除する最良の方法は、Nugetを使用することです:[ツール]-> [NuGetパッケージマネージャー]-> [ソリューションのNuGetパッケージの管理]。

最初にMicrosoft.ApplicationInsights.Webとそのすべての依存関係を削除し、次にMicrosoft.ApplicationInsights.JavascriptAPIを削除するのが最善であることがわかりました。

これにより、以下を除くすべてが削除されました。

  • ApplicationInsights.configファイル、
  • _Layout.cshtmlのスクリプトスニペット、

どちらも手動で削除しました。

マイクロソフトが言わなければならないこと

ここにあるMicrosoftAzureのドキュメント:https//azure.microsoft.com/en-gb/documentation/articles/app-insights-troubleshoot-faq/、次のように述べています。

Application Insightsは私のプロジェクトで何を変更しますか?

詳細はプロジェクトの種類によって異なります。Webアプリケーションの場合:

これらのファイルをプロジェクトに追加します。

  • ApplicationInsights.config。
  • ai.js

これらのNuGetパッケージをインストールします。

  • Application InsightsAPI-コアAPI
  • Webアプリケーション用のApplicationInsightsAPI-サーバーからテレメトリを送信するために使用されます
  • JavaScriptアプリケーション用のApplicationInsightsAPI-クライアントからテレメトリを送信するために使用されます

パッケージには、次のアセンブリが含まれています。

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.Platform

アイテムを以下に挿入します:

  • Web.config
  • packages.config(新しいプロジェクトのみ-既存のプロジェクトにApplication Insightsを追加する場合は、手動で行う必要があります。)クライアントとサーバーのコードにスニペットを挿入して、ApplicationInsightsリソースIDで初期化します。たとえば、MVCアプリでは、コードはマスターページViews / Shared /_Layout.cshtmlに挿入されます

手動で削除

NuGetを使用せずにApplicationInsightsを削除する場合、または私のように信頼できず、削除されるファイルを知りたい場合は、次の手順に従います。

  • web.configからapplicationInsightsを削除し、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を使用して削除しようとしましたが、参照を含むTOTAL MESSで終了しました...提案された手動アプローチは問題なく機能しました!ありがとう!
tuco 2016年

1
どうもありがとう、アンソニー。ApplicationInsightsから得た唯一の洞察は、Microsoftが私のプロジェクトを壊す以外の目的を果たさないように見えるツールを構築しているということでした。
jp2code 2016

ありがとう。FilterConfig.csに登録されているErrorHandler / AiHandleErrorAttribute.csもあることに気づきました
null許容

47

私はこれをしたいと思います:

UnInstall-Package Microsoft.ApplicationInsights.Web -RemoveDependencies

1
これはうまく機能します-手動で削除したApplicationInsights.config以外のすべてをクリーンアップします。
ジョーホワイト

2
これは素晴らしい。新しいプロジェクトを作成するときに、そもそもApplicationInsightsを追加しない方法はありますか?
バクスター

うん、それだけです。
FrancescoB.18年

この答えはもっと高くする必要があります!
デイブシンクル2018

最も簡単でおそらく最良の解決策。
マヌエルプラザ

13

ソリューションにNuGetパッケージマネージャーを使用する場合([ツール]-> [NuGetパッケージマネージャー]-> [ソリューションのNuGetパッケージの管理])、ApplicationInsightsを検索してパッケージをアンインストールでき、依存関係を削除するオプションがあります。いくつかあるかもしれません。これは、一部だけでなく、すべての依存関係をクリーンアップする最も簡単な方法です。


それが最速の方法だと思います!8つを手動でアンインストールする代わりに、ApplicationInsightsの依存関係を2つアンインストールするだけで済みました。おかげ@DavidAllen
hatsrumandcode

6

新しいASP.NetCore 1.1プロジェクトの場合:

  • Microsoft.ApplicationInsights.AspNetCorenugetパッケージを削除します
  • inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet_Layout.cshtmlページから削除します
  • @Html.Raw(JavaScriptSnippet.FullScript)_Layout.cshtmlから削除します
  • .UseApplicationInsights()program.csから削除します

2

最初にすべてのApplicationInsightパッケージを([ツール]-> [NuGetパッケージマネージャー]-> [ソリューションのNuGetパッケージの管理])からアンインストールすることでこれを解決しました。

それから走った

アンインストール-パッケージMicrosoft.AspNet.TelemetryCorrelation-バージョン1.0.0-RemoveDependencies

Nugetコンソールで。

それは私のためにそれを修正しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.