2017-01-05 2 views
0

Ich habe eine VS2012-Anwendung in VB erstellt. ZULETZT habe ich festgestellt, dass ich nicht auf eine HELP-Datei (.chm) in meinem App-Entwicklungsordner zugreifen kann (und auf mehrere Ordner, die zu diesem Ordner führen). Ich habe jetzt eine Kopie der .chm-Datei in allen Ordnern abgelegt, die den Pfad zum App-Entwicklungsordner bilden. Als Referenz wird die App-Entwicklung Ordner ist:CHM-Datei ist nicht programmgesteuert zugänglich in einigen Ordnern

C:/Users/Gary/Eigene Dateien/Visual Studio 2012/Projekte/Doctor Doctor/Doctor Arzt/Doctor Doctor/Bin/Debug

Bis vor einer Woche , keine Probleme. Nun, seltsames Verhalten.

Hier ist ein Stück Code, dass „funktioniert“ - was bedeutet, dass, wenn ich die App und klicken Sie auf einen Menüpunkt (mnuHelp) in der Grundform, die HELP-Datei erscheint laufen, wie erwartet:

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 

Wenn ich jetzt "näher" an den App-Entwicklungsordner herankomme, erscheint beim Klicken auf den Menüeintrag eine kurze Pause (einschließlich einer Sanduhr) für eine Sekunde oder so, aber sonst nichts. Der überarbeitete Code ist

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 

Beachten Sie, dass der einzige Unterschied die Aufnahme von „Visual Studio 2012“ auf dem Weg ist. Kopien der CHM-Datei befinden sich in den Ordnern "Eigene Dateien" und "Visual Studio 2012". Außerdem habe ich früheren Posts gefolgt, um die .chm-Datei explizit in das Projekt aufzunehmen, und setze Build Action = Content und Copy to Output Directory = Copy, wenn Newer

Irgendwelche Ideen bezüglich dieses Verhaltens?

Einige zusätzliche Informationen, die relevant sein können ... das Projekt enthält zahlreiche Orte, an denen HELP zugegriffen werden kann. Alle diese Orte (außer dem in der Basisform, wie oben gezeigt) versuchen, im App-Ordner auf HELP zuzugreifen.

Wenn die HELP in der Basisform nicht auf HELP zugreifen kann, können ALLE Orte nicht auf HELP zugreifen. Wenn der HELP-Pfad in der Basisform auf einen Speicherort festgelegt ist, an dem der Zugriff erfolgreich ist, sind ALLE ANDEREN Orte erfolgreich (obwohl sie im App-Ordner implizit nach der CHM-Datei suchen). Für die anderen Orte, um zu arbeiten, muss ich zuerst HELP von der Basisform zugegriffen haben.

Antwort

0

Ich habe versucht, Ihr Problem mit Visual Studio 2015 zu reproduzieren - scheint aber nicht auf meinem System zu passieren. Einige Gedanken - aber seien Sie vorsichtig mit dem ersten Hinweis:


Die Hh.dat Datei speichert benutzerspezifischen Informationen zu allen Htmlhelp-Dateien (* .chm) auf Ihrem System (Position, Lieblingsthemen, Geschichte suchen, usw.) und kann einen Fehler verursachen, wenn er irgendwie beschädigt wurde. Löschen oder benennen Sie die Datei hh.dat um, um alle (!) CHM-Fenster auf Ihrem System auf ihre Standardeinstellungen zurückzusetzen.

\ Dokumente und Einstellungen \% username% \ Anwendungsdaten \ Microsoft \ HTML Hilfe

oder (je nach Windows-Version)

: Sie sollten Hh.dat in diesem Verzeichnis finden

C: \ Benutzer \% username% \ AppData \ Roaming \ Microsoft \ HTML Hilfe

Windows wird eine neue Version von Hh.dat erstellen, wenn Sie jeden .c nächsten öffnen HM-Datei.


Sie würden prüfen, ob Ihr CHM nicht geändert und auf andere Weise kompiliert wurde. Stellen Sie sicher, dass sich die gleiche CHM-Datei in beiden Testordnern befindet. Suchen Sie und prüfen Sie, ob eine Datei, z. B. doctor21.chw, im laufenden Betrieb erstellt wird (löschen Sie diese Datei in Ihren Testordnern).


Stellen Sie sicher, dass Sie eine Indexregisterkarte und ein Schlüsselwort "Welcome" im CHM-Index haben.

Verwandte Themen