0

1 つの asp ページで非表示フィールドを持つ .htm ページへのインクルードを使用するハイブリッド ASP.NET/ASP ネイティブ アプリケーションがあります。そのページを編集しようとしましたが、アプリケーションを実行すると、実行ファイルが見つかりませんでした。

TFS で最後に保存されたバージョンに戻しましたが、エラーがまだ残っています。オンラインで絶対パスについていくつか見たことがありますが、これはエラーがないページと同じディレクトリにあり、正常に機能していました。

Dos の属性を確認しようとしましたが、読み取り専用ではありません。

誰もこれを以前に経験したことがありますか?それを解決する方法についてのアイデアはありますか?

4

1 に答える 1

1

解決された問題:

私は、ASP が特定の事柄についてコメントを実際のコードとして解析することを認識していませんでした。この場合、<!--include -->そのパスにアクセスできないファイルのコメント内にありました。

例えば:

インクルードを実際に呼び出す ASP ページ:

c:\myproject\pages\mypage.asp 

場所を含める:

c:\myproject\pages\includes\includeme.htm 

メモがあった ASP ページ:

c:\myproject\pages\includes\otherfile.asp

場所 " includes\includeme.htm" は otherfile.asp からアクセスできませんでしたが、コメント アウトされていたので、その場所に移動しようとはしないだろうと想定しました。

/*
Some notes....  <!-- #include file="includes\includeme.htm" -->
*/

そのため、コメントを削除したところ、再び完全に機能しました。

このコメントは、私が行ったことがうまくいった理由をどれだけうまく説明しているかに基づいて、回答に追加する価値がありました。ありがとう @anonjr

#include is a server directive that is processed before anything else is parsed 
- so the server will attempt to retrieve any files you have #include'd and... 
include them.
于 2013-08-06T18:04:34.467 に答える