Ich habe eine ziemlich große Website, deren Strings externalisiert wurden. Ich wollte wissen, ob es eine Möglichkeit gibt, zu überprüfen, ob ein Ressourcenobjekt in der ASPX in der Ressourcendatei vorhanden ist, auf die verwiesen wird? Es gibt ein paar Seiten, die Parserfehler bekommen, aber ich möchte in der Lage sein, alle Dateien im Stapel zu überprüfen.
Wenn es ein Werkzeug oder eine Möglichkeit gibt, alle Dateien zu überprüfen, und Sie wissen, wie sehr ich mich freuen würde, wenn Sie mir dabei helfen könnten.
Ich war neugierig, ob das auch möglich war und konnte auch keine brauchbaren Informationen darüber finden. Ich habe eine Proof-of-Concept-Anwendung gemacht, die im Grunde 3 Dinge macht
Durchsuchen Sie die Dateien in dem von Ihnen ausgewählten Unterverzeichnis und suchen Sie darin die Dateien ascx und aspx.
Durchsuchen Sie die Dateien nach den verschiedenen Möglichkeiten für einen Ressourcenstring in ihnen, indem Sie meta.resourcekey = und & lt;% $ Resources analysieren und sie als explizit oder implizit kennzeichnen, abhängig davon, ob der Schlüssel eine Klasse hat oder nicht. (Ressourcen: nur Tags) und speichert den lokalen oder globalen Resx-Namen.
Durchsuchen Sie den angegebenen lokalen und globalen Ressourcenpfad, je nachdem, um welchen Ressourcentyp es sich handelt, suchen Sie die gefundenen resx-Dateien mit einem ResXResourceReader, und fügen Sie fehlende Schlüssel aus den analysierten aspx / ascx-Dateien hinzu eine Gridview.
Es behandelt noch nicht verschiedene Sprachen, aber das sollte ziemlich einfach hinzuzufügen sein. Ich bin sicher, dass ich eine Menge anderer Dinge vermisse, da wir normalerweise XML-Dateien oder Datenbanken für unsere Projektressourcen verwenden, aber es ist verwendbar und wenn es nicht Ihren spezifischen Bedürfnissen entspricht, modifizieren Sie einfach die Quelle, die Sie finden können hier
Tags und Links asp.net resx internationalization string-externalization