2017-01-05 3 views
0

VB에서 VS2012 응용 프로그램을 만들었습니다. 최근에 내 앱 개발 폴더에서 HELP (.chm) 파일에 액세스 할 수 없다는 사실을 발견했습니다. 이제 app 개발 폴더의 경로를 구성하는 모든 폴더에 .chm 파일의 사본을 저장했습니다. 참고로, 응용 프로그램 개발 폴더는 다음과 같습니다일부 폴더에서 .chm 파일에 프로그래밍 방식으로 액세스 할 수 없습니다.

C :/사용자/게리/내 문서/비주얼 스튜디오 2012/프로젝트/의사 의사/의사 의사/의사 의사/빈/디버그

까지 일주일 전까지 , 아무 문제 없습니다. 자, 이상한 행동. 여기

의 코드 조각의 그 "작품"- 나는 응용 프로그램을 실행하고 기본 폼에 메뉴 항목 (mnuHelp)를 클릭 할 때 예상대로 도움말 파일이 나타납니다 의미 :

Private Sub mnuHelp_Click(sender As Object, e As EventArgs) Handles mnuHelp.Click 
    Dim str As String = "C:/Users/Gary/My Documents/Doctor21.chm" 
    Help.ShowHelp(Me, str, System.Windows.Forms.HelpNavigator.KeywordIndex, "Welcome") 
End Sub 

이제 앱 개발 폴더로 "더 가깝게"이동할 때 메뉴 항목을 클릭하면 일시 중지 (모래 시계 포함)가 1 초 동안 표시되지만 다른 것은 표시되지 않습니다. 수정 된 코드는 유일한 차이점은 경로의 "비주얼 스튜디오 2012"의 포함이라고

Private Sub mnuHelp_Click(sender As Object, e As EventArgs) Handles mnuHelp.Click 
    Dim str As String = "C:/Users/Gary/My Documents/Visual Studio 2012/Doctor21.chm" 
    Help.ShowHelp(Me, str, System.Windows.Forms.HelpNavigator.KeywordIndex, "Welcome") 
End Sub 

주입니다. .chm 파일의 복사본은 "내 문서"및 "Visual Studio 2012"폴더에 있습니다. 또한 이전 게시물을 명시 적으로 프로젝트 내에서 .chm 파일을 명시 적으로 포함하도록 설정했습니다. Build Action = Content 및 Copy to Output Directory = Copy if Newer

이 동작과 관련된 아이디어가 있습니까?

관련 정보가있을 수 있습니다. ....이 프로젝트에는 HELP에 액세스 할 수있는 수많은 장소가 있습니다. 모든 위 장소 (위의 기본 양식에있는 항목 제외)는 app 폴더의 HELP에 액세스하려고 시도합니다.

기본형 HELP가 HELP에 액세스하지 못하면 모든 위치에서 HELP에 액세스 할 수 없습니다. 기본 양식 HELP 경로가 액세스가 성공한 위치로 설정된 경우 다른 모든 장소는 성공합니다 (앱 폴더에서 .chm 파일을 암시 적으로 찾고 있음에도 불구하고). 하지만 다른 곳에서 작업하려면 먼저 기본 양식에서 HELP에 액세스해야합니다.

답변

0

Visual Studio 2015에서 문제를 재현하려고했지만 시스템에서 발생하지 않는 것으로 보입니다. 일부의 생각 -하지만 첫 번째 힌트와 함께주의 :


시스템 (위치, 좋아하는 주제의 모든 HTMLHELP 파일에 hh.dat 파일에는 사용자 별 정보 (* .CHM)는, 검색 기록, 등), 어떤 식 으로든 손상된 경우 오류가 발생할 수 있습니다. hh.dat 파일을 삭제하거나 이름을 변경하여 시스템의 모든 (!) CHM 창을 기본 설정으로 재설정하십시오. 이 디렉토리에 hh.dat 찾아야한다 :

\ % 사용자 이름 % \ 응용 프로그램 데이터 \ 마이크로 소프트 \ HTML

도움말 문서 및 설정 \

또는 (귀하의 Windows 버전에 따라)

C : \ 사용자 \ % 사용자 이름 % \의 AppData \ 로밍 \ 마이크로 소프트 \ HTML 도움말

윈도우 다음에 어떤이 .c를 열 때 hh.dat의 새 버전을 만듭니다 흠 파일.


CHM이 변경되지 않았는지 확인하고 다른 방식으로 컴파일했는지 확인합니다. 동일한 CHM 파일이 두 테스트 폴더에 모두 있는지 확인하십시오. 검색하고 파일 (예 : doctor21.chw)이 즉시 만들어 지는지 확인합니다 (테스트 폴더에서이 파일을 삭제하십시오).


CHM 색인에 색인 탭과 키워드 "환영"이 있는지 확인하십시오.