2009-07-15 14 views
0

ASP.NET Webサイトプロジェクトを作成して実行すると、空白のページが表示されます。デフォルトのCodeBehindファイルに入って、Page_Loadメソッドthrow new Exception();に追加してファイルを保存し、ブラウザでリフレッシュせずに(再構築せずに)サーバが自動的にプロジェクトを再構築すると、ページがエラーになります。ASP.NETが自動的に再構築されない

ページを更新してもプロジェクトが再構築されない(新しいaspxファイルが使用されていますが、古いDLLが使用されています)作業中のプロジェクトがあります。これを引き起こす原因は何ですか?それを修正するにはどうすればよいですか?

+1

VSに付属の開発用Webサーバーを両方のサイトで使用していますか?両方のIIS?それぞれの1つ? –

+0

両方ともASP.NET開発サーバーを使用しています。 –

+0

これを読んで、WebサイトとWebアプリケーションプロジェクトの違いを理解することをお勧めします。http://msdn.microsoft.com/en-us/library/aa730880(VS.80).aspx#wapp_topic5 – AaronS

答えて

1

この新しいプロジェクトは万が一Webアプリケーションプロジェクトですか?私はあなたが実際に変更を見る前にそれを構築しなければならないと信じています。

+0

「Webアプリケーションプロジェクト」はプロジェクトですが、プロジェクトは「ASP.NET Webサイト」として作成されました。 –

0

Webアプリケーションプロジェクトは、すべてのコードをビルドする必要がある別の種類のプロジェクトです。結果として得られるdllは、binフォルダの下にビルドされます。コードビハインドファイルは実行時には使用されません。また、インストールされたWebサーバーでコードを公開したくない場合や、実行がより速い(実行時にコンパイルされないように)必要がある場合は、

「ASP.NET Webサイト」として作成したときは、「Webアプリケーションプロジェクト」ではありません。

0

ウェブサイトモデルを使用しています。ページは、アクセスするとコンパイルされます。同じソリューション内のクラスライブラリプロジェクトでは使用できません。それでなぜあなたはこの動作を見ますか?

デフォルトでは、ASPX、コードビハインドとApp_Codeのソースファイルがコンパイルされます。ソリューションに別個のプロジェクト(おそらくBLLまたはDAL)がある場合、これらはブラウザを更新するだけでは更新されません。

これを修正するには、Visual Studioで適切なビルドを実行するか、変更したいクラスファイルをApp_Codeに移動します。個人的に私は前者に固執します(実際に私はウェブサイトのオプションを使用しません - 常にWebアプリケーションプロジェクトです)。

+0

私は分かりません。あなたは、コードの背後にあるコードが更新されると言った。これは私が望むふるまいと、私が得られないふるまいです。 –

0

App_Codeにあるコードだけが自動的に再コンパイルされます。あなたのコードが他の場所にあれば、コンパイルされたときに得られるビルドされたDLLの一部です。

0

OK。 「編集して続行」を有効にしましたか? MSDN

+0

はい、切り替えても、動作が変わりません。 –

関連する問題