質問

特定のポートで HTTP 要求をリッスンし、単純な ASP.Net ページを提供するエージェント/クライアントを開発しようとしています。そのために、私は HttpListener クラスと ApplicationHost クラスを使用しています。

プロジェクトに簡単なページ (mypage.aspx) を追加しました。すべてのコードが 1 つのファイルに含まれている場合、すべてがうまく機能しました (追加してテストしました) <% Response.Write(DateTime.Now.ToString()); %> ページ内の HTML に変換し、ブラウザーでタイムスタンプを観察します)。

次に、ボタンを 1 つ追加し、分離コード ファイル (mypage.aspx.cs) を追加し、デザイナー ファイル (mypage.aspx.designer.cs) を手動で作成しました。私は追加しました <%@ Page Language="C#" AutoEventWireup="true" Codebehind="SearchForm.aspx.cs" Inherits="MyNameSpace.MyPage" %> .aspx ファイルにコピーし、すべてが適切にコンパイルされることを確認しました。

ブラウザから Web ページにアクセスしようとすると、次のエラーが表示されます。

説明:このリクエストのサービスに必要なリソースの解析中にエラーが発生しました。次の特定の解析エラーの詳細を確認し、ソースファイルを適切に変更してください。

パーサーエラーメッセージ:タイプ「mynamespace.mypage」をロードできませんでした。

ソースエラー:

ライン1:<%@ page Language = "c#" autoeventwireup = "true" codebehind = "mypage.aspx.cs" ensulits = "mynamespace.mypage"%>

見つけた これは、分離コードがコンパイルされていない、またはアプリケーションがアセンブリを見つけられないことを意味します。私の "bin" ディレクトリには、元のアプリケーションの .exe と .pdb だけが含まれています。.aspx の .dll はありません。

で提供されている解決策を試しました この質問 .aspx および .cs ファイルが「コンパイル」ビルド アクションとしてマークされていることを確認しましたが、役に立ちませんでした。

私の質問は次のとおりです。.aspx ファイルを通常の WinForm アプリケーションでコンパイルするにはどうすればよいですか?それはできますか? それとも、ソリューションに Web アプリケーションを追加する必要がありますか?

役に立ちましたか?

解決

カッシーニをチェックしてください。これは、Visual Studio が IIS を必要とせずに Web アプリケーションをデバッグできるようにするために、ASP.NET チームによってしばらく前に構築された Web サーバーです。これはスタンドアロンの Web サーバーでもあります。ソースは Dmitry のブログで見つけることができます。 http://blogs.msdn.com/dmitryr/archive/2006/03/09/548131.aspx

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