Frage

Wenn ich Application.UserappdataPath benutze, um zur Konfiguration zu gelangen, habe ich eine ArgumentException "illegale Charaktere im Pfad." Laut Microsoft IT ist kein Fehler, sondern ein Merkmal;

Die einzige Möglichkeit, wie Sie einen illegalen Charakter in FileVesionInfo.productVersion (und damit in Application.productVersion und Application.userAppdataPath) erhalten können, ist, wenn Sie auch MontagefileVersion an der Baugruppe haben. Der Wert, der an die MontageFileVersion geht, wird auf das Win32-Ressourcen-Verbatim kopiert und überschreibt den Wert, den Sie an die MontageVersion übergeben. Dieses Verhalten ist das Design.

so durch Kommentieren von [Montage: MontageFileVersion ("...")] In montageInfo.cs könnte man diese Ausnahme lösen.

Das Problem ist : Ich schreibe etwas .dll mit WinForms-Steuerelementen. Das einfachste Design, um diesen Weg zu erhalten, wäre die Verwendung von Application.UserappdataPath. Wenn jedoch Application.UserappdataPath verwendet wird, können Entwickler, die diese Bibliothek verwenden, keine MontagefileVersion für ihre .exe-Dateien haben. (Während der MontageFileVersion standardmäßig in der MontageInfo.cs befindet)

Ich konnte auch keine Informationen von Microsoft finden, die mit MontageFileVersion meine Anwendung bremsen, und jemand sollte es nicht verwenden. Ich kann es also nicht von diesen Bibliotheksbenutzern fragen.

Gibt es in einer seltsamen Situation einen Grund oder eine Logik? Was ist eine bessere Umsetzung, um Application.UserappdataPath-Pfad ohne solche Probleme zu erhalten?

Während ich MontageFileVersion habe und Application.userappdataPath die Ausnahme auswirkt, funktioniert die Anwendung und ich könnte diesen Weg durch

bekommen generasacodicetagpre.

Die Konfigurationsdateien sind da und haben keine Probleme. Aber sicher ist es ein hässlicher Weg.

War es hilfreich?

Lösung

Wenn ich diesen Beitrag auf der Verbindung las korrekt las, müssen Sie den generellen Code mit einem illegalen Charakter ('*') verwenden.

Zweck endet es mit "Wenn Sie immer noch glauben, dass dies ein Fehler ist" ....

Haben Sie den Fehler reproduziert und war das ein realistisches Szenario?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top