質問

次の 2 つのファイルがある Web サイトがあります。

  • ページ.aspx
  • ページ.aspx.cs

以前は、新しいファイルを Web サーバーにドロップするだけで、IIS が自動的にファイルをコンパイルし、ページにアクセスできました。

http://www.website.com/page.aspx

....cs ファイルに含まれるページ クラスの関連機能は適切に動作します。

ここでエラーが発生します:私のページクラスを参照する「タイプ namespace.classname を読み込めませんでした」。

ここで、何らかの奇妙な理由で、すべての .cs ファイル (ページ クラスも含む) を app_code フォルダーに配置する必要があります。

私の Web サイトで変わったのは、ページが Web ルート上にあるのではなく、Web ルート内にあるように構造を再編成したことだけです。 http://.../newfolder/page.aspx.

何らかの理由で、すべての page.aspx.cs ファイルが app_code に存在する必要があります。

何か案は?

役に立ちましたか?

解決

あなたはWebアプリケーションプロジェクトとWebサイトを混合しているように、

サウンドます。

ファイルはまったく同じですあなたは確かにいますか?おそらく、1つの@Pageディレクティブは言う分離コード= Page.aspx.cs、他方が言うCodeFile = Page.aspx.cs?

分離コードは、プロジェクトのコンパイルを必要とするので、あなたはちょうどあなたが新しいコンパイル済みのDLLをアップロードする必要があり、新しいの.csファイルにドロップすることはできません。 CodeFileは、動的コンパイルが可能になります。

にApp_Codeディレクトリが動的に(どちらの場合も)コンパイルされますが、そこにファイルを置いたときに継承ディレクティブは有効なタイプを持っているので、アプリが、アクセスされたとき。一般的には、これをしません。あなたは.csファイルのファイルは、.aspxのファイルと一緒に行きたいです。特定のページに関連付けられていないビジネスロジックやユーティリティクラスのためにApp_Codeを使用します。

最後に、IISの新アプリとして設定し、この新しいサブディレクトリのですか?新しいディレクトリの変更でweb.configファイルは何をしますか?あなたは、ASP.NETの同じバージョンを実行していますか? 「コンパイル」タグを確認してください。私はあなたがこれを引き起こすことが何ができるかわからないんだけど、私はあなたがのいくつかのの混乱を引き起こす可能性があると確信しています。

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