2009-10-21 9 views
0

J'ai créé une nouvelle solution VS qui doit contenir un sous-ensemble modifié de fichiers d'une autre solution. Les deux solutions ont un espace de noms par défaut "Microsoft.Windows.Controls". L'assembly de l'ancienne solution s'appelle "WPFToolkit" et le nouveau nom d'assembly est "DatePicker". L'un des fichiers copiés sur la nouvelle solution est une ressource incorporée nommée "ExceptionStringTable.txt". Le contenu ressemblent à ce qui suit, bien que je ne suis pas sûr quel est son format:Conversion de texte en fichier .resources

; DataGrid Selection Commands 
DataGrid_SelectAllCommandText=Select All 
DataGrid_SelectAllKey=Ctrl+A 
DataGrid_SelectAllKeyDisplayString=Ctrl+A

Je mets « Construire action » à « Ressource incorporée » du fichier comme dans la solution d'origine. Lors de l'exécution, il est chargé comme ceci:

private static ResourceManager _resourceManager = 
    new ResourceManager("ExceptionStringTable", typeof(SR).Assembly);

Lors de l'exécution du code

_resourceManager.GetString(id.String)
Je reçois cette exception d'exécution:

System.Resources.MissingManifestResourceException a eu lieu Message = "Impossible de trouver des ressources appropriées pour la Assurez-vous que \ "ExceptionStringTable.resources \" a été correctement incorporé ou lié dans assembly \ "DatePicker \" au moment de la compilation, ou que tous les assemblys satellites requis sont chargeables et entièrement signés. "

liste Programmatically noms de ressources de l'assemblée, je reçois ceci:

 DatePicker.g.resources 
    Microsoft.Windows.Controls.Resources.ExceptionStringTable.txt 
    Microsoft.Windows.Controls.Properties.Resources.resources

Que dois-je faire pour que ExceptionStringTable.txt est converti en son .resources équivalent alors intégré dans mon ensemble tel que les uri " ExceptionStringTable "le localise?

Répondre

1

Vous devez convertir le fichier txt à un fichier .resource:

resgen.exe ExceptionStringTable.txt 

Affichera un fichier ExceptionStringTable.resources. Ce fichier doit ensuite être ajouté en tant que ressource incorporée

Vous souhaitez probablement vérifier l'ancien fichier de projet pour voir s'il existe une tâche de post-construction ou quelque chose qui le fait automatiquement.

MISE À JOUR:

La façon la plus simple pour vous est probablement convertir le fichier txt dans un fichier .resx:

resgen.exe ExceptionStringTable.txt ExceptionStringTable.resx 

Et puis ajoutez ce fichier en tant que resourse intégré. Ensuite, vous pouvez supprimer l'ancien fichier .txt.