12

最近、Visual Studio 2010 SP1 BETAASP.NET MVC 3 RC2、およびIISExpressをインストールしました。

IIS Expressを使用したプロジェクトで、 MVC3プロジェクトを従来のASPページと一緒に実行することに成功しました。

IISExpressの使用中にVisualStudioでブレークポイントを使用してClassicASPデバッグを設定する方法があるかどうか疑問に思いました。

もしそうなら、これを行う方法に関するチュートリアル/投稿はありますか?

4

4 に答える 4

13

IIS Express で ASP デバッグを有効にするには:

1. Visual Studio のバージョンに基づいて更新する適切な applicationhost.config ファイルを見つけます。

  • Visual Studio 2015 以降:各 Web アプリには、変更が必要な独自の applicationhost.config ファイルがあります。各ファイルは{solution directory}\.vs\configにあります (.vs は隠しフォルダーであることに注意してください) 。
  • Visual Studio 2015 より前: %USERPROFILE%\Documents\IISExpress\configにある applicationhost.config を変更することで、すべての Web アプリのデバッグを有効にすることができます。

(applicationhost.config が見つからない場合は、Web アプリがまだ IISExpress で起動されていないことが原因です。アプリを起動すると、ファイルが作成されます。)

2.テキスト エディターで applicationhost.config を開き、<system.webServer><asp>要素を次のように変更します。

<asp scriptErrorSentToBrowser="true" enableParentPaths="true" bufferingOn="true" errorsToNTLog="true" appAllowDebugging="true" appAllowClientDebug="true">
    <cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" />
    <session allowSessionState="true" />
    <limits />
</asp>

デバッグを開始します。

  1. デバッグなしで Web サイトを開始します。
  2. Visual Studio で、[プロセスにアタッチ] ダイアログを開きます。
  3. Attach to to Scriptを変更します。
  4. iisexpress.exe を選択し、[アタッチ] をクリックします。

ブレークポイントを設定するには:

  1. デバッグを開始したら、デバッグするページを参照します。(はい、ブレークポイントを設定する前に。)
  2. VS に戻り、ソリューション エクスプローラーに移動すると、IIS Express によってキャッシュされたファイルを一覧表示する [スクリプト ドキュメント] ノードが表示されます。ブレークポイントが必要な .asp ページが見つかるまで、このノードを展開します。(前の手順で参照するまで、ページはこのリストに表示されません。) ここに画像の説明を入力
  3. このファイルを開き、ここにブレークポイントを設定します (元のソース ファイルではありません)。
  4. ブレークポイントに到達するには、ページを更新するか、ページに再度移動します。

このページを変更する必要がある場合は、ブレークポイントのあるバージョンではなく、元のソース ファイルを変更することに注意してください。これらの変更を保存すると、ファイルは IIS Express キャッシュから削除されるため、これらの手順を繰り返してブレークポイントを再度設定する必要があります。

詳細については、Dixin のブログを参照してください。

于 2015-01-14T17:29:28.227 に答える
4

驚いたことに、IIS Expressは、カッシーニとは異なり、従来のASPをサポートしています。

(これまでIIS Expressのことを聞いたことがありませんでした。開発者のマシンに、本格的なIISの構成を複雑にすることなく、サイトのローカルコピーを実行させる有望な方法のようです)。

スコットガスリーからのこのブログを参照してください。

従来のASPでブレークポイントなどを設定する方法が見つかりませんでした。ASP DLL内にブレークポイントを設定する以外の方法でこれがサポートされていたら、私は非常に驚きます(これはほとんど役に立たないでしょう)。

于 2010-12-23T17:20:58.147 に答える
3

私が答えたこの質問も参照してください。

IIS Express およびクラシック ASP

古典的なASPのデバッグはまだ少しヒットアンドミスですが、実行可能です

于 2012-01-04T10:59:51.067 に答える
2

これを行う唯一の方法は、David Lively の回答に投稿されているScott Guthrie のブログに従うことです。アプリを許可F5またはCtrl起動するようにサイトを設定したら. F5IIS 5/6/7 をインストールし、サイトをルートまたは仮想ディレクトリとして追加する必要があります。したがって、IIS Express と IIS の両方が完全に同じ物理ディレクトリを指しています。IIS インスタンスを起動します。私の場合、localhost に移動するだけです。これにより、w3wp.exe が開始されます。VSS では、プロセス W3wp.exe にアタッチします。

これ以外。IIS Express で ASP クラシックをデバッグするための真の解決策があるとは思えません。

于 2013-06-18T10:48:43.963 に答える