Frage

Ich habe ein Web-Projekt in VS 2008 ausgeführt Wir haben einige globale Ressource-Dateien (* .resx) im App_GlobalResources Ordner für die Internationalisierung. All dies wirkt wie ein Zauber auf meiner lokalen IIS-Installation aus VS.

Aber wenn ich mein Web-Projekt auf das lokale Dateisystem und / oder einen anderen Server zu veröffentlichen, alle Ressourcen nicht mehr gefunden werden können. Also ich denke, die Vorkompilierung irgendwie verderbliche Sachen ist. Als ich die vorkompilierte Web aufrufen, ich eine Fehlermeldung erhalten, dass die Ressource-Objekt mit Schlüssel xyz kann nicht gefunden werden, obwohl es vorher nicht gefunden werden.

ich mit .NET Reflektor überprüft, ob die Ressource stopft es in die * .dlls gemacht. All diese Kennungen sind (ist / Web.dll, ist / /Web.resources.dll). Die Kennungen werden wie folgt geladen:

<asp:MenuItem NavigateUrl="~/OrderNew.aspx" Text="<%$ Resources:MyProject, MenuNewOrder %>" Value="NewOrder">

Die Ressourcendateien werden MyProject.resx und MyProject genannt. .resx wobei entspricht die die spezifische Kultur (d MyProject.de-DE.resx).

Alle Ideen, wie diese zu lösen?

Ich schätze wirklich jede Hilfe.

Danke

Edit:

Wenn ich die App_GlobalResources Ordner manuell an den Ausgang zu kopieren, können die Ressourcen normalerweise geladen werden. Also wirklich, wirklich ich frage mich, was diese Vorkompilierung geht.

Ich bin immer noch daran interessiert, das Thema „den richtigen Weg“ zu lösen.

War es hilfreich?

Lösung

Ich hatte das gleiche Problem und hatte zwei Änderungen an den resx Dateieigenschaften zu machen.

  1. Stellen Sie die "Build-Aktion" zum Inhalt
  2. Stellen Sie die "Copy to Output Directory" immer kopieren

Andere Tipps

(Ich kann nicht auf der vorherigen Antwort Kommentar ... kein Ruf noch ...?)

Das hat mein Problem nicht lösen, fürchte ich.

Wenn Sie den „Content / Copy Always“ Lösung versucht, erhalte ich eine Ausnahme von selbst, dass die Verknüpfung zum Zeitpunkt der Kompilierung hat nicht funktioniert.

Warum braucht asp.net die resx Datei, wenn die Ressourcen in kompiliert werden!?

ich diesen Fehler hatte, als eine Ressource-Datei aus einem anderen Projekt zu kopieren.

Ich löste dies durch die globale Ressource zu löschen, das Hinzufügen einer neuen Ressource und das Kopieren der data Elemente aus der alten in die neue XML.

Dies führt zu den folgenden Einstellungen für die Ressource:

  <ItemGroup>
    <Content Include="App_GlobalResources\Global.resx">
      <Generator>GlobalResourceProxyGenerator</Generator>
      <LastGenOutput>Global.Designer.cs</LastGenOutput>
    </Content>
  </ItemGroup>

Ich hatte das gleiche Problem. Jedes Mal, wenn ich meine app auf den Small Business Server (SBS2008) veröffentlicht steckte es auf Steuernamenszeile aber in der Tat auf meta: ResourceKey Teil davon. Nicht die oben genannte Lösung helpd mich.

ich 6 Stunden verbrachte diese heraus herauszufinden, schließlich erkennen ich, dass dies geschieht, als ich auf dem Server einige Ordner cleenup tat. Bei den begning alle meine apps wurde auf E zu finden: in ihren Ordnern, aber dann habe ich erstellte Ordner mit Namen angibt, um Anwendungen ApplicationPools und ich bewege coresponding apps dort

.

Ich weiß nicht, wie IIS7 auf meinem SBS für Ressource-Dateien suchen, aber auf jeden Fall war dies das Problem. Als ich mit meiner Apps E zurück. Wieder begann alles wie am Schnürchen funktioniert

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