Question

J'ai en cours d'exécution dans VS 2008 un projet web Nous avons quelques fichiers de ressources globales (* .resx) dans le dossier App_GlobalResources pour l'internationalisation. Tout cela fonctionne comme un charme sur mon installation IIS local de VS.

Mais quand je publie mon web-projet au système de fichiers local et / ou un autre serveur, toutes les ressources ne peuvent plus être trouvées. Donc je suppose que la pré-compilation est en quelque sorte corruptrice des choses. Quand j'appelle le web pré-compilé, je reçois une erreur que l'objet de ressource avec xyz clé ne peut être trouvé, bien qu'il puisse être trouvée avant.

J'ai vérifié avec réflecteur .NET si la substance des ressources en a fait les * .DLL. Tous ces identifiants sont là (bin / Web.dll, bin / /Web.resources.dll). Les identifiants sont chargés comme ceci:

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

Les fichiers de ressources sont appelés MyProject.resx et MyProject. .resx où correspond à la culture spécifique (à savoir MyProject.de-DE.resx).

Toutes les idées comment résoudre ce problème?

J'apprécie vraiment toute aide.

Merci

Modifier

Si je copie le dossier App_GlobalResources manuellement à la sortie, les ressources peuvent être chargés normalement. Donc, je me demande vraiment vraiment ce que cette pré-compilation est tout au sujet.

Je suis toujours intéressé à résoudre la question « de la bonne façon ».

Était-ce utile?

La solution

J'eu le même problème et a dû apporter deux modifications aux propriétés du fichier resx.

  1. Définir le "Build action" au contenu
  2. Définissez le "Copier Output Directory" pour copier toujours

Autres conseils

(je ne peux pas commenter la réponse précédente ... mais pas de réputation ...?)

Cela n'a pas résolu mon problème, je le crains.

Lorsque vous essayez le « contenu / Copie toujours » solution que je reçois une exception en disant que la liaison au moment de la compilation ne fonctionne pas.

Pourquoi asp.net besoin du fichier resx lorsque les ressources sont compilées!

J'ai eu cette erreur lors de la copie d'un fichier de ressources d'un autre projet.

Je résolu ce problème en supprimant la ressource mondiale, l'ajout d'une nouvelle ressource et la copie des éléments du data ancien au nouveau XML.

Il en résulte les paramètres suivants pour la ressource:

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

J'ai eu le même problème. Chaque fois que je publiais mon application au Small Business Server (SBS2008) il est resté sur la ligne de nom de contrôle, mais en fait sur meta: partie resourcekey de celui-ci. Non de la solution mentionnée ci-dessus me helpd.

J'ai passé 6 heures essayant de se faire, enfin je compris que ce happend quand je l'ai fait un certain dossier cleenup sur le serveur. Aux begning toutes mes applications était situé sur E: dans leurs dossiers, mais je l'ai créé des dossiers avec des noms indiquant aux applications applicationPools et je propose des applications, il lui correspondant

.

Je ne sais pas comment IIS7 sur mon SBS à la recherche de fichiers de ressources, mais certainement c'était la question. Quand je reviens avec mes applications à E:. Nouveau tout a commencé à travailler comme un charme

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top