2011-06-20 45 views
2

this articleで議論されたファイルをダウンロードし、プロダクションWebサイトにドロップしようとしましたが、アクセスしようとしたときに次のエラーが発生しました私のWebブラウザ:既存のWebアプリケーション(.Net 3.5)にスタンドアロンのASPXページを追加する

[HttpException(0x80004005が):ファイル「/WebResources.aspxは」事前にコンパイルされていない、と要求することはできません。]

私は私のローカルマシン上のウェブにファイルをドロップした場合、それはうまく動作します。アプリケーション全体を再公開せずにこの単一のファイルをどのようにプリコンパイルするのですか?この1ページだけをあらかじめコンパイルするためにできることがありますか?

答えて

0

問題の原因を調べることなく(エラーの原因を確認せずに)、iFrame内のページを表示することが1つの方法です(メモ:外部コントロール、マスターページなどは参照しません)。

<iframe src="/WebResource.aspx" width="100%" height="100%">Your browser does not support iFrame</iframe> 

いますが、その範囲外のコントロールと対話するために、そのページが必要な場合は、ASPXのヘッダ部分に見て、それが適切なクラスから継承し、の一部であることを確認する必要がありますそのページを呼び出すWebプロジェクト。

+0

これは、iframeに同じエラー(「ファイル '/WebResources.aspx'がプリコンパイルされていないため、要求できません)が表示されると考えています。 – Sean

+0

ページを別のホスト仮想フォルダ(指定した通り)や他のWebアプリケーションから見ることができる場合は、iframeを使ってリモートプロジェクトの完全なURLを使って見ることができます – Ahmad

0

これはかなり簡単です。

  1. ファイルを自分のWebアプリケーションプロジェクトに入れます。
  2. プロジェクトをローカルディレクトリに公開します。
  3. ファイルと関連するアセンブリを既存のWebアプリケーションにコピーします。 web.configを上書きしないように注意してください。

完了。この新しいファイルは、あなたの他のWebアプリケーションが行うすべてのものにアクセスできるようになりました。

+0

うわー!真剣に!何らかの理由で、私はそれがこれより複雑なものになると思った。私はそれを試してみましょう!ありがとう、クリス! – Sean

+0

私たちのプロジェクトの1つは、実際には同じ場所に配置されたいくつかのWebアプリケーションで構成されています。これは、Webアプリケーションで「モジュール性」をサポートする興味深い方法です。唯一の注意点は、同じ名前のファイルを持つことができないことです。 – NotMe

+0

さて、このソリューションでは問題は解決しなかったと申し訳なく思っています。 VSで新しいWebアプリケーションプロジェクトを作成し、単一のページ(WebResources.aspx)を追加してローカルディレクトリに公開しました。 WebResources.aspx、Web.Config、bin \ WebResources.dll、bin \ WebResources.pdbの4つのファイルが公開されています。私はweb.config以外のファイルをプロダクションウェブのそれぞれの対応する場所(それぞれrootとbin)にコピーしましたが、エラーは引き続き発生します。 – Sean

関連する問題