2013-08-05 2 views
0

하나의 ASP 페이지에서 숨겨진 필드가있는 .htm 페이지의 포함을 사용하는 하이브리드 ASP.NET/ASP 기본 응용 프로그램이 있습니다. 나는 그 페이지를 편집하러 갔고, 이제는 애플리케이션을 실행할 때 Execute를 던진다 : Include File Not Found.ASP : 누락 된 포함 파일

TFS에서 마지막으로 저장된 버전으로 되 돌렸고 오류가 여전히 남아 있습니다. 온라인 나는 절대 경로에 대해 몇 가지를 보았습니다. 그러나 이것은 오류가없는 페이지와 동일한 디렉토리에 있으며 잘 작동했습니다.

Dos의 속성을 확인하려고했지만 읽기 전용이 아닙니다.

경험이있는 사람이나 해결 방법에 대한 아이디어가 있습니까?

+0

직접 포함 파일로 이동할 때 정확히 어떻게됩니까? –

+0

@ShadowWizard - 파일이 c : \ myproject \ pages \ mypage.asp에 있고 포함 파일이 경로가 c : \ myproject \ pages \ includes \ includeme.htm 인 경우 내 포함은 . 폴더로 이동하면 실제로 해당 폴더로 이동합니다. – logixologist

+0

중요한주의 사항 : include 파일을 변경하기 전과 후에 만 ​​작동합니다. 더 이상 존재하지 않는다고 생각합니까? – logixologist

답변

1

해결 된 문제 :

나는 ASP가 어떤 일에 대한 실제 코드로 의견을 구문 분석 몰랐어요. 이 경우 <!--include -->은 해당 경로에 액세스 할 수 없었던 파일의 주석 안에있었습니다. 예를 들어

: 정말 호출

ASP 페이지는은 다음과 같습니다 메모를했다

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

ASP 페이지 :

c:\myproject\pages\mypage.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. 
+0

S/O는 내 자신의 질문에 답한 후 내일까지 답변을 수락하지 않을 것입니다. – logixologist

+0

그래, 서두르지 말고 그냥 돌아 오는 것을 잊지 마라.:-) –

+1

'# include'는 다른 것을 처리하기 전에 처리되는 서버 지시자입니다. 그래서 서버는 여러분이'# include'd 파일을 검색하려고 시도하고 ... 포함합니다. – AnonJr