Application ASP.NET avec cadre CSLA; Visual Studio 2008My.Resources dans la bibliothèque de classes ne se comporte pas comme prévu lors du déploiement
J'ai une bibliothèque de classe d'objets métier. Je stocke les chaînes de règles brisées dans le fichier de ressources associé au projet (Mes projets> Resources.resx). J'ai ajouté un nouveau fichier resx au projet et je l'ai nommé Resources.fr-CA.resx pour stocker les équivalents français des règles.
J'appelle les chaînes avec les My.Resources objet, comme celui-ci:
e.description = My.Resources.BrokenRulesString
Cela fonctionne comme un charme quand je lance l'application localement (à savoir frapper « jeu » dans Visual Studio). Cependant, lorsque je compile et déploie l'application dans un autre environnement, les valeurs sont toujours dans le fichier de ressources par défaut.
Même si je mets explicitement la culture à « fr-CA » dans le fichier Resources.Designer.vb, comme celui-ci, la propriété renvoie la chaîne à partir du fichier de ressources par défaut:
Public ReadOnly Property BrokenRulesString() As String
Get
Return ResourceManager.GetString("BrokenRulesString", "fr-CA")
End Get
End Property
Il semble moi comme l'application ne peut pas voir le fichier de ressources fr-CA donc par défaut le fichier par défaut. Des conseils pour que cela fonctionne?
Merci.
Merci pour le conseil. J'ai utilisé Al.exe pour créer MyApp.Business.Library.resources.dll et l'ai placé dans le dossier C: \ Inetpub \ wwwroot \ MyApp \ bin \ fr-CA de l'application déployée. Cependant, je ne reçois toujours que le fichier de ressources par défaut (anglais). Pouvez-vous penser à un détail que je pourrais manquer? – user254402
Maintenant que j'ai regardé dans cette direction, je vois que MyApp.Business.Library.resources.dll a été créé tout le temps, situé dans le dossier bin/fr-CA de la bibliothèque de classes en question. Donc, mon problème n'est pas de créer la DLL mais de la déployer dans le cadre du package MSI. Pouvez-vous suggérer quelque chose à cet égard? Merci. – user254402