2009-04-23 9 views
26

Ich möchte die Ressourcendateien nach der Bereitstellung bearbeitet werden können. Ich lese this Beitrag, der darauf hindeutet, dass dies möglich ist, aber ich kann nicht scheinen, herauszufinden, welche Einstellungen ich ändern muss, um dies zu ermöglichen.Bearbeiten von Ressourcendateien ohne Neukompilieren von ASP.NET-Anwendung

Ich habe den Ordner "App_GlobalResources" zu meiner ASP.NET 3.5 "Webanwendung" hinzugefügt und diesem Ordner eine Ressourcendatei hinzugefügt. Ich nehme an, dass die Build-Aktion für diese Datei geändert werden muss, aber egal, was ich die Build-Aktion ändern, kann ich die oben genannten Funktionen nicht erreichen.

Der Ordner App_GlobalResources und die Ressourcendatei werden in das Verzeichnis bin kopiert. Nach der Bereitstellung werden keine Änderungen an der RESX-Datei angezeigt.

Irgendwelche Ideen?

+0

Was ist das, das nicht funktioniert? Wird es das Resx nicht neu kompilieren oder können Sie es nicht bearbeiten? Oder kannst du sie nicht dort hinstellen? – asgerhallas

+0

Ich habe meinen ursprünglichen Beitrag aktualisiert, der Ihre Frage beantwortet. – deckerdev

Antwort

12

Ein Webanwendungsprojekt unterscheidet sich von einem Websiteprojekt. Ich bezweifle, dass Sie mit einem Webanwendungsprojekt erreichen können, was Sie wollen. Sie können diesen Beitrag check out:

ASP.NET Web Site or ASP.NET Web Application?

Ressourcen im Allgemeinen statisch sein sollen. Dies sind Elemente wie Bilder, Zeichenfolgen und Dateien, die von Ihrem Programm konsumiert werden und sich darauf verlassen können, dass sie vorhanden sind (und daher im Falle von Zeichenfolgen/RESX-Dateien stark typisiert werden können). Der Grund für die Verwendung von Ressourcen besteht einfach darin, sie mit Ihren DLLs zu bündeln, so dass die Verteilung und Referenzierung der Ressourcen viel einfacher wird.

Bearbeitbar zur Laufzeit schlägt vor, dass Sie Projekt- oder Benutzereinstellungen oder vielleicht eine Datenbank verwenden möchten? Wenn Sie RESX-Dateien verwenden müssen, müssen Sie möglicherweise Code zum Lesen/Schreiben schreiben.

+0

Sir, das ist eine sehr schöne Erklärung :) – Dinesh

27

Sie können dies erreichen, und ich habe es einfach getan.

Wählen Sie die Ressourcendatei in Ihrem Projekt aus. Ändern Sie die Build-Aktion in Inhalt. Stellen Sie sicher, dass die Einstellung zum Kopieren in das Ausgabeverzeichnis deaktiviert ist. Wenn Sie Ihr Projekt bereitstellen, werden das Verzeichnis App_GlobalResources und Ihre RESX-Datei in das Stammverzeichnis Ihrer Website kopiert. Sie können die RESX-Datei ändern und Ihre Live-Site erkennt die Änderungen.

+11

Wenn Sie dies tun, wird Ihre Anwendung Pool auf Ihrem Web-App recyceln – Dan

+0

Was sind die negativen Auswirkungen dieser passiert? –

+2

Einfach gesagt, alle aktuellen Sitzungen enden. –

Verwandte Themen