2012-01-26 28 views
2

Webアプリケーションが正常にビルドされて発行されると、ファイルをWebサーバーにコピーした後に問題が発生し、いくつかのブラウズを試みるとコンパイルエラーが発生するしかし、他のページは正しく機能し続けます。ASP.NET(4.0)Webアプリケーションの公開後のコンパイルエラー

私の最初の考えは、ファイルの一部が正常にコピーされていない可能性があるため、ページを再公開してテストしました。以前のパブリッシュで動作していた別のページ後続の出版の問題は、毎回変わる影響を受けるページと同様の効果を見た。

以前にWebサーバー上で機能していたWebサーバー上で失敗したページは、この発行用に変更されておらず、Visual Studio 2010 Debugで正常に動作し続けます。

私はアプリケーションプールをリサイクルしてウェブサイトを再起動し、サーバーを再起動しました。私たちのエラーログから

エラーは次のとおりです。

GAE:: System.Web.HttpException (0x80004005): The file /XXXX.aspx has not been pre-compiled, and cannot be requested.  
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)  
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)  
at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)  
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)  
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)  
at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()  
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

編集:私は(クラス名を変更)失敗のいずれかのページのソースASPXとCSファイルをコピーし、それにソリューションを発表した再。新しいページは、失敗した相手と並んで動作します。

+0

こんにちは、こちらをご覧ください:http://stackoverflow.com/questions/602117/how-to-fix-asp-net-error-the-file-nnn-aspx-has-not-been-pre -compiled-and-can –

+1

ありがとうございました、私たちは今、残念なことにそのポストを成功させました。 – Mack

答えて

3

このエラーは、赤ん坊になる可能性があり、通常、実際のエラーをマスクします。

IISアプリケーション、物理ディレクトリ、および影響を受けるファイルの最初のチェック許可が正しいです。

権限でない場合は、カスタムエラーをWebサーバー上のRemoteOnlyに設定して、再公開してください。 .net 4では、「事前コンパイル済みサイトを更新可能にする」と「固定命名規則と単一ページアセンブリを使用する」というオプションをつけてアプリケーションを公開してください。

ウェブサーバーにデプロイすると、今は報告されていないカスタムまたはサードパーティーのアセンブリ、これは最近追加されたり削除される可能性があります(またはこれは私たちの問題だったアセンブリは、任意の形式で使用されていないconfigファイルで定義されていたので、いくつかの形式を取った)

これはあなたの問題を解決するのに役立ちます - 幸運!

+0

ありがとうございました - このファイルのDLLは最近のハウスキーピング練習で削除されましたが、web.configエントリはライブサイトから逃していました。 – Mack

0

適切にファイルまたはIO関連。バイナリだけでなく、すべてのファイルをコピーしましたか?すべての古いファイルを削除して(最初にバックアップする)、書き込み保護やセキュリティ上の問題が発生しないようにすることができます。

+0

すべてのファイルがコピーされます。これは3年以上働いている既存のウェブサイトで、出版方法は静的なままです。私は現在、別のテストを実施するために使用するテストサイトをクリアしています。 – Mack

+0

私は、元のすべての設定をコピーし、すべての公開ファイルをこの場所にコピーしたIISで別のサイトを使用しました。同じ現象が発生しています。 – Mack

+1

申し訳ありませんが、手がかりはありません。サーバー上にアセンブリがない可能性がありますか? –

0

私は同じ問題がありました。

パブリッシュ後に開こうとすると、一部のページにエラーが発生します。

私のために働いた一つの解決策だった..私は、エラーを示すこれらのASPXファイルをチェックすると、CodeFileなく分離コードを持っていたが...

私は分離コードにCodeFileから変更し、それがうまく働きました。 (私が間違っていた場合は、私に修正してください)

しかし、問題は、ローカルホスト上で特定のファイルがスローされますそれらがCodeBehindのままになるとエラーが発生します。

関連する問題