Einbetten von Lokalisierungsressourcen .DLLs in die ausführbare Datei in C #?

8

Ich möchte mein Programm mehrsprachig machen. Ich habe das Programm mit den Localizable- und Language-Eigenschaften von Form erfolgreich mehrsprachig gemacht. Es hat einige .resx-Dateien erstellt. Dann löschte ich nicht benötigte Dateien wie Bilder (die in allen Sprachen gleich sind) usw. aus den .resx-Dateien.

Das Problem ist zum Beispiel, dass es auch einen Ordner namens "en" erzeugt und in diesem Ordner eine andere erzeugte Datei "ProjectName.resources.dll" heißt.

Gibt es trotzdem eine Einbettung dieser Ressourcendatei in die .exe? Das Hinzufügen zu den Ressourcen und das Festlegen der Build-Aktion auf "Eingebettete Ressource" funktioniert auch nicht.

Danke.

    
PythEch 20.09.2011, 17:05
quelle

2 Antworten

5

In .NET Framework 4 können Sie die Ressourcenbibliothek in eine ausführbare Datei einbetten.

Ссылка

Erstellen Sie einfach dieselbe Struktur (mit lokalisierten Ordnern 'lib / de', 'lib / de') und betten Sie sie ein.

%Vor%     
IvanP 24.02.2013, 20:26
quelle
1

Sie haben diese Frage schon vor einer Weile gestellt und Sie haben bereits eine Antwort akzeptiert, aber ich werde trotzdem versuchen, einen alternativen Weg zu bieten. Ich hatte das gleiche Problem und so habe ich es gelöst:

Ich habe die DLL als Ressource zu meinem C # -Projekt hinzugefügt und diesen Code zu meiner Main-Methode hinzugefügt (der, die die Haupt-Winform startet).

%Vor%

}

Hinweis: Dadurch werden der Ordner und die Sprach-DLL erneut erstellt, wenn sie fehlen. Sie müssen also nicht mehr darauf achten, dass Sie diesen Ordner und die DLL mit Ihrer exe-Datei kopieren. Wenn Sie wollen, dass es vollständig verschwunden ist, wird das natürlich nicht der richtige Ansatz sein.

    
Mickey 21.02.2014 09:41
quelle

Tags und Links