2010-03-12 4 views
1

J'ai une application Web ASP.NET avec un fichier .resx dans App_GlobalResources dont les ressources sont généralement accessibles comme ceci:Déployer l'application ASP.NET sans le fichier .resx?

ASPX: <asp:Literal ID="l1" runat="server" Text="<%$ Resources:GalleryServerPro, Admin_Tab_Hdr %>" />

code-behind: string msg = Resources.GalleryServerPro.Successfully_Restored_Msg;

Est-il possible de compiler les valeurs .resx directement dans la DLL afin que je puisse déployer l'application sans le fichier .resx et pas besoin d'éditer le code existant?

Je demande cela parce que je porte une application existante à un module DotNetNuke et DotNetNuke ne permet pas de fichiers .resx, donc je suis à la recherche d'une solution de contournement.

Merci, Roger Martin Gallery Server Pro

Répondre

0

Vous n'avez pas besoin de changer votre code. Vous devez regarder créer satellite assemblies.

Ceci est couvert de façon plus détaillée dans les messages de blog tels que: http://blogs.msdn.com/pedram/archive/2007/08/04/automated-build-of-satellite-assemblies-in-visual-studio-with-msbuild.aspx

+0

J'ai passé plusieurs heures sur ce sans succès. Il semble que mon utilisation de la syntaxe déclarative dans la page ASPX provoque la dépendance de l'application sur le fichier .resx dans App_GlobalResources, et il est impossible de le refactoriser dans un assembly satellite. Quand j'essaye, mon application l'ignore (continue d'afficher depuis le .resx). Si je supprime le fichier .resx pour essayer de le forcer à l'utiliser, ASP.NET crée silencieusement un nouveau fichier .resx vide et renvoie une erreur car il est vide. Si je puis supprimer le répertoire App_GlobalResources, le processus w3wp.exe se bloque. – user98773

+0

Avez-vous envisagé de déployer une application compilée complète sur le serveur Web? Vous pouvez précompiler le site. Voir http://msdn.microsoft.com/en-us/library/ms229863(VS.80).aspx. Lorsque cela est fait, il ne devrait pas y avoir de fichiers resx dans le répertoire Web. Citation "Ces fichiers sont compilés dans des assemblages et placés dans le répertoire Bin.Sous-répertoire App_GlobalResources est créé sous le répertoire de sortie principal, et aucun fichier .resx ou .resources situé dans le répertoire source sont copiés dans les répertoires de sortie." Peut-être que cet outil est plus ce dont vous avez besoin que la procédure des assemblages satellites? –

+0

La pré-compilation d'un site est une option uniquement pour les sites Web et non pour les applications Web, ce qui ne fonctionne pas pour moi. – user98773

Questions connexes