Domanda

Ho un web-progetto di esecuzione in VS 2008. Abbiamo alcuni file di risorse globali (* resx) nella cartella App_GlobalResources per l'internazionalizzazione. Tutto questo funziona come un fascino sul mio installazione di IIS locale di VS.

Ma quando pubblico il mio web-progetto per il filesystem locale e / o di un altro server, tutte le risorse non possono più essere trovati. Quindi credo che la pre-compilazione è in qualche modo roba corruttrice. Quando chiamo il web pre-compilato, ottengo un errore che l'oggetto di risorse con xyz chiave non può essere trovato, anche se potrebbe essere trovato prima.

Ho controllato con riflettore .NET se la roba risorsa ha fatto nel * DLL. Tutti questi identificatori sono lì (bin / Web.dll, bin / /Web.resources.dll). Gli identificatori sono caricati in questo modo:

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

I file di risorse sono chiamati MyProject.resx e MyProject. .resx dove corrisponde la cultura specifica (cioè MyProject.de-DE.resx).

Tutte le idee come risolvere questo?

I really appreciate qualsiasi aiuto.

Grazie

Modifica

Se copio la cartella App_GlobalResources manualmente all'uscita, le risorse possono essere caricati normalmente. Così ho davvero chiedo che questo pre-compilation è tutto.

Sono ancora interessato a risolvere il problema "nel modo giusto".

È stato utile?

Soluzione

ho avuto lo stesso problema e ha dovuto fare due modifiche alle proprietà del file resx.

  1. Imposta il "Build Azione" al contenuto
  2. Imposta il "Copia di Output Directory" per copiare sempre

Altri suggerimenti

(non posso commentare la risposta precedente ... no reputazione ancora ...?)

Questo non ha risolto il mio problema, ho paura.

Quando si cerca la soluzione "Contenuto / Copy Sempre" ottengo un'eccezione dicendo che il collegamento al momento della compilazione non ha funzionato.

Perché asp.net bisogno del file resx quando le risorse vengono compilati in!?

ho avuto questo errore durante la copia di un file di risorse da un altro progetto.

Ho risolto questo cancellando la risorsa globale, l'aggiunta di una nuova risorsa e la copia dei data elementi dal vecchio al nuovo XML.

In questo modo le seguenti impostazioni per la risorsa:

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

Ho avuto lo stesso problema. Ogni volta che ho pubblicato il mio app per Small Business Server (SBS2008) è bloccato sulla linea di nome del controllo, ma in realtà su meta: parte ResourceKey di esso. Non della soluzione di cui sopra mi helpd.

Ho passato sei ore per capire questo fuori, finalmente ho capito che questo accadesse, quando ho fatto qualche cleenup cartella sul server. Alle begning tutte le mie applicazioni era situato su E: nelle loro cartelle, ma poi ho creato le cartelle con i nomi che indicano alle applicazioni ApplicationPools e mi muovo coresponding applicazioni là

.

Non so come IIS7 sul mio SBS alla ricerca di file di risorse, ma sicuramente questo è stato il problema. Quando torno con le mie applicazioni a E:. Ancora una volta tutti iniziato a lavorare come un fascino

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top