0

hereで説明されているように、奇妙な動作を示すアプリケーション (app1) があります。app1 と同じパスを持つ別のアプリケーション (app2) を IIS で作成しました。インフラジスティックス エラーをスローしなかったため、「機能」しましたが、「無効なパラメータ」が原因で一部のリソースをロードできませんでした。また、jQuery をロードできませんでした。

気になったのでテストしてみました。別の既存のアプリケーションのパス (app3) をパス app1 に変更しました。app2 と同じように "機能" しましたが、リソースを認識せず、jQuery を認識しないという問題がありました。

この動作の原因は何ですか? また、アプリケーションを修正するにはどうすればよいですか? この問題の解決策はありますか、それとも髪を引き抜くだけですか?

よろしくお願いします。

よろしくお願いします、

ラホス アルパド。

4

1 に答える 1

1

ASP.NET を使用する IIS は、一時フォルダーを使用して、コンパイルされていないコード/aspx ファイルなどの dll をコンパイルします。厳密に言えば、IIS はここでは何もしません。(おそらく)asp.netワーカープロセスが必要なすべてのコンパイラなどを呼び出すのは仕事ですが、これについて私を引用しないでください。

新しいアプリにアクセスすると、完全にプリコンパイルされていない限り、必要に応じて一連のコードをコンパイルする必要がある場合があります。ごくまれに、このプロセスが台無しになります。

あなたのウェブサイトが NuGET を使用して更新された dll を取得する場合、少なくとも 1 つ以上のオープン ソース CMS がそうであるように、それも処理する必要があるかもしれませんが、私の知る限り、それらはアプリケーションのbinフォルダーにダウンロードされるだけです。 . ファイルを移動すると、そのプロセスが壊れることもあります。

したがって、壊れる可能性のあるあらゆる種類のことがあり、発生する例外は可能な限り最も一般的な例外の 1 つです。スタック トレースがなければ、それほど役に立たないでしょう。

この質問 ( Could not load file or assembly App_Licenses ) によると、両方の問題の解決策は一時ファイルを削除することかもしれませんが、最も投票された解決策 (2012 年 10 月 27 日現在) は少し極端な場合: すべてのアプリケーションのすべての一時ファイルではなく、関心のあるアプリケーションの一時ファイルのみを削除する必要があります。Web サイトに関連付けられている AppPool を再起動するだけでなく、アプリケーションのクリーニングと再構築も機能する場合があります。

于 2012-10-28T02:57:52.547 に答える