IIS構造の下のaspnet_clientフォルダーは何ですか?


108

標準のIIS Webフォルダー構造の下にaspnet_clientフォルダーが頻繁にあることに気づきました。これは何に使用されますか?必要ですか?

回答:


91

.NET 1.1日前には、このフォルダーはASP.NETに検証コントロールとその他の機能のJavaScriptサポートを提供していました。.NET 1.1以前のサイトを実行していない場合は、削除しても安全です。問題が発生しないように、最初に名前を変更します。


15
それは、そのようなことをもうしないようにする方法を思い出させるために現れます... :)
Ostati

現在.Net 1.1日を過ぎていても、Crystal Reportsを使用できますが、残念ながらまだ言及されているフォルダを使用しています(おそらく同じ動作をする他のソフトウェアも存在します)。したがって、少なくとも、フォルダを削除する前にバックアップを作成してください
Vadim Levkovsky

66

他の人が言ったことに加えて、それは通常aspnet_regiisツールによって作成され、Windows Update / AddRemove Windowsコンポーネント/ IISなどによって(再)実行できます。そのため、削除しても、ランダムに戻ってしまうことがあります。この動作を停止する方法はあるかもしれませんが、私はそれを見つけていません(たぶん、アプリケーションのバージョンを.NET 2に変更すると実際にそれを行うでしょう)。

したがって、.NET 1.0 / 1.1の特定の機能(検証、スマートナビゲーションなど)を使用していない限り、問題なく削除できます。戻ってきても驚かないでください。


28
定期的に戻ってきます。それが最もイライラするのは、それが戻ってくるたびに、作成されたaspnet_clientフォルダーを削除するためのアクセス権がない実行アカウントがWebDeployを破壊することです!
Russ Cam

5
@RussCam私はまったく同じ問題を抱えています。同じ理由でWebDeployが機能しなくなります。このフォルダがランダムに作成されるのを止める方法を誰かが見つけましたか?
tugberk 2012

4
私は無邪気にDotNet Framework 4.5をインストールしましたが、しばらくしてから、WebDeployの展開(TeamCity経由でトリガー)が同じ理由で失敗しました。4.5をインストールした結果、darnフォルダーが再び戻ってきました。誰か、止めてください。
Michael12345

2
TeamCityがそれらを削除しようとしないように、これらのフォルダーを実際に展開パッケージに追加することに頼りました。コードベースを汚染しているように感じられますが、ASP.NETとアプリの展開の間の力の闘いを止めることができれば幸いです。
Michael12345 2014年

1
私はまた、このフォルダーが常に戻ってくることに深刻な迷惑をかけています。asp.net1.xサイトはありませんが、どのWindows自動更新でもこの流血フォルダーがすべてのサイトに配置されるため、すべてのWeb展開が中断されます。私は@ Michael12345に同意します。これは、配置を引き続き機能させるために不要なフォルダーをSCに追加する優れた解決策ではなく、週末の勝利更新が毎月曜日に手動で修正する必要がないことをすべてのサイトに追加します(ACL権限が正しくありません)。 。迷惑!
MemeDeveloper 2014

15

aspnet_clientは、「HTTP経由で提供する必要があるが、アプリケーションごとではなくサーバーごとにインストールされるリソース」のフォルダーです。

aspnet_clientの使用の一部には、以下のリソース(JavaScript、画像など)の保存が含まれます。

  • クライアント側の検証を使用する場合のASP.NET WebフォームコントロールのJavaScript(主にIE5のような古いブラウザーを操作するためのようです)
  • 「グローバルテーマ」用のASP.NET 2.0(フレームワーク4.0まで)(サーバー上のすべてのサイトにグローバル、つまり)
  • Crystal Reportsの一部のバージョン

将来的には、このフォルダがさらに(ab)使用される可能性があります。言うまでもなく、「アプリケーションを正しく実行するために必要」であるが「アプリケーションによって配備されることは想定されていない」ものが含まれているため、開発者とシステム管理者の両方にとって悪夢のままです。

フォルダのコンテンツの「プロトタイプ」はC:\ inetpub \ wwwroot \にあるようで、特定のIIS Webサイトに/ aspnet_clientリソースがない場合、IISは正しいことをしようとするのが妥当だと思われますそして...最後の手段として... Webサイトのルートフォルダーに物理フォルダーを作成し、そこにファイルをコピーします。IISは、少なくとも "ASPNET_regiis / c"が特定のサーバーに呼び出されたときにこれを実行するようです-.NETフレームワークの更新がIISの役割を持つサーバーに適用されるときなど、いくつかの重要な接続でおそらく自動的に発生します。

aspnet_clientディレクトリを処理するための戦略には、次のようなものがあります。それが必要であり、本当にあなたを困らせます* aspnet_clientを無視します*フォルダーがない場合に自分で "ASPNET_regiis / c"を実行すると、それが必要になります

おそらく最も重要なことは、開発者として、aspnet_clientディレクトリに対するアプリケーションの依存関係を明確に理解して文書化し、インストール手順に、ディレクトリが存在することを確認するための関連する手順があることを確認することです。ただし、パッケージ化されたWebアプリケーションまたはWebサイトの一部として実際にディレクトリを提供することに煩わされるべきではありません。アプリケーションの存続期間中にサーバーが参照する.NET Frameworkのバージョンごとにこれを実行するにはどうすればよいでしょうか。

私が後で戻ってくるいくつかのリンク:


したがって、wwwrootの下にaspnet_clientフォルダーを追加すると、その内容はインストールした各Webアプリにコピーされると思います
George Birbilis

8

また、1.1以降のバージョンでもCrystalレポートを適切に実行するために必要な特定のアイコンとスクリプトがあります。


うん、これは難しい方法だとわかった。RipplestoneのインスタンスをデフォルトのWebサイトの下の仮想ディレクトリから独自のWebサイトに移動すると、Ripplestoneのすべてが奇妙に壊れ始めました。私はJavaScriptコンソールを見て、それが下のものを探していたことを見たC:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13 ことだったわからない場合は、右やるかしないようにする事が、私はちょうど私のRipplestoneインスタンスがに住んでいたディレクトリにルートから全体aspnet_clientフォルダをコピーしました。
アダム・ノフシンガー2013年

3

このフォルダーは通常、ASP.NETが検証などに使用するクライアント側のJavaScriptを格納するためのものです。

削除しても安全です。


1

これは、私がこの質問をグーグルで検索したときに私がずっと向けられていたリンクなので、ここに追加します。どうやら.NET 4.0以降では、このフォルダーは不要になり、問題なく削除できます。


0

Installshieldを使用してASP.net Webサイトを構成している場合、この機能はInstallshield 2010に存在し、Installshield 2012にはないことに注意してください。 Installshield 2010対2012


IS2010には存在しない機能があります。以前のバージョンをさらに試してください。
Vishnu Prasanth 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.