プリコンパイル済みのASP.NET Webアプリケーション:エラー“ System.Web.HttpExceptionファイルfilename.aspxはプリコンパイルされていないため、要求できません。”

StackOverflow https://stackoverflow.com/questions/413221

  •  03-07-2019
  •  | 
  •  

質問

Webサイトではなく、ASP.NET 3.5 Webアプリケーション用のVisual Studio 2008のテンプレートを使用してWeb配置プロジェクトを作成しました。

展開に必要なファイルを作成したプロジェクトをコンパイルしました。結果のフォルダー(bin、静的ファイル、aspxプレースホルダーなどのすべてのフォルダー)を、アプリケーションをテストするステージングサーバーにコピーしました。

"このプリコンパイルされたサイトを更新可能にする" オプションにフラグを付けない場合、ブラウザにロードするすべてのページでこのエラーメッセージが表示されます。

System.Web.HttpException file PAGENAME.aspx has not been pre-compiled, 
and cannot be requested.

スタックトレースの最後の行:

System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(
  VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, 
  Boolean allowBuildInPrecompile) +8756366

オプションをチェックすると、すべてが正常です(実際のaspx / ascxが元の形式のままであるためだと思います)。

ここで何が欠けているのでしょうか?コピーするのを忘れた設定や特別なファイルはありますか?

ありがとう!

注:

  • サードパーティのアセンブリへの参照がいくつかあります
  • ステージングサーバーのbinフォルダーを確認しました。すべてのクラスを含むプリコンパイル済みアセンブリが含まれています(アセンブリを分析するためにReflectorを使用しました)。
役に立ちましたか?

解決

すべてのASPXファイルには

のみを含める必要があります
  

これは、   プリコンパイルツール。   削除しないでください!

binフォルダー内のすべてを削除し、Webを再度公開します。 公開したディレクトリからファイルを取得するようにしてください。

binフォルダーに含まれる .compiled ファイルも必ずコピーしてください。

他のヒント

記録のために、これらの「.compiled」をコピーするのを忘れました。ファイル( MSDNドキュメント:ASP.NETプリコンパイル中のファイル処理):

  

ASP.NET Webの実行可能ファイル用   アプリケーション、コンパイラアセンブリ   および.compiledファイル名のファイル   拡張。アセンブリ名は   コンパイラーによって生成されます。の   .compiledファイルには含まれていません   実行可能コード。代わりに、含まれています   ASP.NETという情報のみ   適切なものを見つける必要がある   アセンブリ。

     

プリコンパイルされたアプリケーションが   展開され、ASP.NETはアセンブリを使用します   要求を処理するBinフォルダー。   プリコンパイル出力には次が含まれます   プレースホルダーとしての.aspxまたは.asmxファイル   ページ用。プレースホルダーファイル   コードが含まれていません。彼らはにのみ存在します   ASP.NETを呼び出す方法を提供します   特定のページ要求などのファイル   許可を制限するように設定できます   ページへのアクセス。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top