Ich habe eine einfache C # -Konsolen-App, die eine XML-Datei einliest, die der Benutzer angegeben hat, führt eine XSLT-Transformation durch und gibt die Ergebnisse aus.
Wenn ich meine App an Benutzer verteile, möchte ich eine einzelne .EXE-Datei verteilen. Mein Quellcode besteht aus 3 Dateien: der .csproj-Datei, der .cs-Codedatei und einem .xslt-Stylesheet.
Wie kann ich csproj so einrichten, dass die .xslt in der Ausgabe "eingebettet" ist und vom Endbenutzer nicht gesehen oder geändert werden kann?
Scheint einfach, aber ich kann es nicht herausfinden und Google ist nicht zu nützlich.
Sie können es in Ihre Baugruppe einbetten.
Fügen Sie die Datei in Ihrer Lösung hinzu und legen Sie die Build-Aktion auf die eingebettete Ressource fest.
Der Ort, an dem Sie die Datei lesen müssen, verwenden Sie Ссылка Assembly.GetManifestResourceStream ein Stream, den du in einen Fil schreiben oder direkt verwenden kannst.
Wenn Sie nicht sicher sind, welchen Namen Ihre Ressource hat, finde ich Assembly.GetManifestResourceNames
nützlich, um alle Ressourcen aufzulisten.
Fügen Sie die Datei zu Ihrem Projekt hinzu, wählen Sie die Datei aus und gehen Sie zum Eigenschaftenfenster (drücken Sie F4 ). Setzen Sie die Build-Aktion auf "Eingebettete Ressource". Dadurch wird die Datei als Ressource in die EXE-Datei eingebettet.
%Vor%