Je cherche =E0 cr=E9er un fichier de ressources dans le cadre de la=20
migration d'un site web de HTML en ASP.
Les exemples que j'ai trouv=E9s fonctionnent tr=E8s bien pour =E9crire da=
ns un=20
fichier de ressources existant, mais pour le cr=E9er, =E7a n'a pas l'air =
glorieux : c'est simple, le fichier n'existe carr=E9ment pas =E0 la fin d=
u=20
traitement, et la propri=E9t=E9 BasePath du ResXResourceWriter reste null=
e.
J'ai essay=E9 en site web comme en application console.
J'ai compris que le fichier devait =EAtre cr=E9=E9 lors de l'emploi de la=
=20
m=E9thode Generate, mais je n'ai pas observ=E9 cela. Close n'arrange rien=
=20
non plus.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles Kohl [MVP]
On Mon, 21 Apr 2008 00:46:40 +0200, Gloops wrote:
Bonjour tout le monde,
Je cherche à créer un fichier de ressources dans le cadre de la migration d'un site web de HTML en ASP.
Les exemples que j'ai trouvés fonctionnent très bien pour écrire dans un fichier de ressources existant, mais pour le créer, ça n'a pas l'air glorieux : c'est simple, le fichier n'existe carrément pas à la fin du traitement, et la propriété BasePath du ResXResourceWriter reste nulle.
J'ai essayé en site web comme en application console.
Pourriez-vous poster le code de l'application console de test? (Plus facile a mettre en oeuvre)
Amicalement, Gilles.
Regards, Gilles [MVP].
(Please reply to the group, not via email. Find my MVP profile with past articles / downloads here: http://www.gilleskohl.de/mvpprofile.htm)
On Mon, 21 Apr 2008 00:46:40 +0200, Gloops <gloops@invalid.zailes.org>
wrote:
Bonjour tout le monde,
Je cherche à créer un fichier de ressources dans le cadre de la
migration d'un site web de HTML en ASP.
Les exemples que j'ai trouvés fonctionnent très bien pour écrire dans un
fichier de ressources existant, mais pour le créer, ça n'a pas l'air
glorieux : c'est simple, le fichier n'existe carrément pas à la fin du
traitement, et la propriété BasePath du ResXResourceWriter reste nulle.
J'ai essayé en site web comme en application console.
Pourriez-vous poster le code de l'application console de test? (Plus
facile a mettre en oeuvre)
Amicalement,
Gilles.
Regards,
Gilles [MVP].
(Please reply to the group, not via email.
Find my MVP profile with past articles / downloads here:
http://www.gilleskohl.de/mvpprofile.htm)
Je cherche à créer un fichier de ressources dans le cadre de la migration d'un site web de HTML en ASP.
Les exemples que j'ai trouvés fonctionnent très bien pour écrire dans un fichier de ressources existant, mais pour le créer, ça n'a pas l'air glorieux : c'est simple, le fichier n'existe carrément pas à la fin du traitement, et la propriété BasePath du ResXResourceWriter reste nulle.
J'ai essayé en site web comme en application console.
Pourriez-vous poster le code de l'application console de test? (Plus facile a mettre en oeuvre)
Amicalement, Gilles.
Regards, Gilles [MVP].
(Please reply to the group, not via email. Find my MVP profile with past articles / downloads here: http://www.gilleskohl.de/mvpprofile.htm)
Gloops
Gilles Kohl [MVP] a écrit, le 21/04/2008 07:38 :
Pourriez-vous poster le code de l'application console de test? (Plus facile a mettre en oeuvre)
Oui, si je m'en suis abstenu la première fois, c'est que ceci est extrait de la page à la première des deux adresses que j'ai fournies, à l'indentation près (dans le cadre "Code Block") :
using (ResXResourceWriter writer = new ResXResourceWriter(resXFile)) { Console.WriteLine( "Associating {0} with {1}'s contents", resKey, resValueFile); Console.Write("To {0}...", resXFile);
using (ResXResourceReader reader = new ResXResourceReader(resXFile)) { foreach (DictionaryEntry node in reader) writer.AddResource((string)node.Key, node.Value); }
J'ai mis writer.Close(), aussi, ensuite, je ne suis plus très sûr si ça fait double emploi avec l'emploi de using -auquel cas, si on considère que Close inclut un appel implicite à Generate, le code indiqué par l'aide devrait fonctionner (ce que d'ailleurs je supposais au départ).
(pas facile d'éviter une allitération, sur double emploi avec emploi, ou utilisation de using ;) )
Je mets tout ça à l'intérieur des accolades de using.
Un autre ajout que j'ai fait, aussi, est de compléter resXFile avec le chemin d'accès.
Je finis par en arriver à me demander si ce n'est pas parce que j'ai ajouté trop de choses que ça ne marche pas ... Pourtant, ça ne donnait rien au départ, après un copier/coller.
Aurais-je lu bêtement ?
Gilles Kohl [MVP] a écrit, le 21/04/2008 07:38 :
Pourriez-vous poster le code de l'application console de test? (Plus
facile a mettre en oeuvre)
Oui, si je m'en suis abstenu la première fois, c'est que ceci est
extrait de la page à la première des deux adresses que j'ai fournies, à
l'indentation près (dans le cadre "Code Block") :
using (ResXResourceWriter writer =
new ResXResourceWriter(resXFile))
{
Console.WriteLine(
"Associating {0} with {1}'s contents", resKey, resValueFile);
Console.Write("To {0}...", resXFile);
using (ResXResourceReader reader =
new ResXResourceReader(resXFile))
{
foreach (DictionaryEntry node in reader)
writer.AddResource((string)node.Key, node.Value);
}
J'ai mis writer.Close(), aussi, ensuite, je ne suis plus très sûr si ça
fait double emploi avec l'emploi de using -auquel cas, si on considère
que Close inclut un appel implicite à Generate, le code indiqué par
l'aide devrait fonctionner (ce que d'ailleurs je supposais au départ).
(pas facile d'éviter une allitération, sur double emploi avec emploi, ou
utilisation de using ;) )
Je mets tout ça à l'intérieur des accolades de using.
Un autre ajout que j'ai fait, aussi, est de compléter resXFile avec le
chemin d'accès.
Je finis par en arriver à me demander si ce n'est pas parce que j'ai
ajouté trop de choses que ça ne marche pas ...
Pourtant, ça ne donnait rien au départ, après un copier/coller.
Pourriez-vous poster le code de l'application console de test? (Plus facile a mettre en oeuvre)
Oui, si je m'en suis abstenu la première fois, c'est que ceci est extrait de la page à la première des deux adresses que j'ai fournies, à l'indentation près (dans le cadre "Code Block") :
using (ResXResourceWriter writer = new ResXResourceWriter(resXFile)) { Console.WriteLine( "Associating {0} with {1}'s contents", resKey, resValueFile); Console.Write("To {0}...", resXFile);
using (ResXResourceReader reader = new ResXResourceReader(resXFile)) { foreach (DictionaryEntry node in reader) writer.AddResource((string)node.Key, node.Value); }
J'ai mis writer.Close(), aussi, ensuite, je ne suis plus très sûr si ça fait double emploi avec l'emploi de using -auquel cas, si on considère que Close inclut un appel implicite à Generate, le code indiqué par l'aide devrait fonctionner (ce que d'ailleurs je supposais au départ).
(pas facile d'éviter une allitération, sur double emploi avec emploi, ou utilisation de using ;) )
Je mets tout ça à l'intérieur des accolades de using.
Un autre ajout que j'ai fait, aussi, est de compléter resXFile avec le chemin d'accès.
Je finis par en arriver à me demander si ce n'est pas parce que j'ai ajouté trop de choses que ça ne marche pas ... Pourtant, ça ne donnait rien au départ, après un copier/coller.
Aurais-je lu bêtement ?
Gilles Kohl [MVP]
On Mon, 21 Apr 2008 20:12:45 +0200, Gloops wrote:
Gilles Kohl [MVP] a écrit, le 21/04/2008 07:38 :
Pourriez-vous poster le code de l'application console de test? (Plus facile a mettre en oeuvre)
Oui, si je m'en suis abstenu la première fois, c'est que ceci est extrait de la page à la première des deux adresses que j'ai fournies, à l'indentation près (dans le cadre "Code Block") :
using (ResXResourceWriter writer > new ResXResourceWriter(resXFile)) { Console.WriteLine( "Associating {0} with {1}'s contents", resKey, resValueFile); Console.Write("To {0}...", resXFile);
using (ResXResourceReader reader > new ResXResourceReader(resXFile)) { foreach (DictionaryEntry node in reader) writer.AddResource((string)node.Key, node.Value); }
Ce code me semble copier le contenu d'un fichier "test.resx" (qui n'existe pas dans votre cas), puis y ajouter le contenu binaire d'un fichier "myValue" (qui n'existe pas non plus dans votre cas). Qu'est-ce exactement que vous voulez faire?
S'il s'agit simplement de créer un fichier resx avec des correspondances nom/valeur, essayez:
using(ResXResourceWriter writer = new ResXResourceWriter(@"monfichier.resx")) { writer.AddResource("Prenom", "Obelix"); writer.AddResource("Nom de famille", "Legaulois"); writer.AddResource("Occupation", "Tailleur de menhirs"); writer.AddResource("Aime", "Sangliers"); writer.AddResource("Craint", "Chute ciel sur tete");
writer.Generate(); }
Est-ce cela que vous essayiez d'obtenir?
Amicalement, Gilles.
Regards, Gilles [MVP].
(Please reply to the group, not via email. Find my MVP profile with past articles / downloads here: http://www.gilleskohl.de/mvpprofile.htm)
On Mon, 21 Apr 2008 20:12:45 +0200, Gloops <gloops@invalid.zailes.org>
wrote:
Gilles Kohl [MVP] a écrit, le 21/04/2008 07:38 :
Pourriez-vous poster le code de l'application console de test? (Plus
facile a mettre en oeuvre)
Oui, si je m'en suis abstenu la première fois, c'est que ceci est
extrait de la page à la première des deux adresses que j'ai fournies, à
l'indentation près (dans le cadre "Code Block") :
using (ResXResourceWriter writer > new ResXResourceWriter(resXFile))
{
Console.WriteLine(
"Associating {0} with {1}'s contents", resKey, resValueFile);
Console.Write("To {0}...", resXFile);
using (ResXResourceReader reader > new ResXResourceReader(resXFile))
{
foreach (DictionaryEntry node in reader)
writer.AddResource((string)node.Key, node.Value);
}
Ce code me semble copier le contenu d'un fichier "test.resx" (qui
n'existe pas dans votre cas), puis y ajouter le contenu binaire d'un
fichier "myValue" (qui n'existe pas non plus dans votre cas).
Qu'est-ce exactement que vous voulez faire?
S'il s'agit simplement de créer un fichier resx avec des
correspondances nom/valeur, essayez:
using(ResXResourceWriter writer = new
ResXResourceWriter(@"monfichier.resx"))
{
writer.AddResource("Prenom", "Obelix");
writer.AddResource("Nom de famille", "Legaulois");
writer.AddResource("Occupation", "Tailleur de menhirs");
writer.AddResource("Aime", "Sangliers");
writer.AddResource("Craint", "Chute ciel sur tete");
writer.Generate();
}
Est-ce cela que vous essayiez d'obtenir?
Amicalement,
Gilles.
Regards,
Gilles [MVP].
(Please reply to the group, not via email.
Find my MVP profile with past articles / downloads here:
http://www.gilleskohl.de/mvpprofile.htm)
Pourriez-vous poster le code de l'application console de test? (Plus facile a mettre en oeuvre)
Oui, si je m'en suis abstenu la première fois, c'est que ceci est extrait de la page à la première des deux adresses que j'ai fournies, à l'indentation près (dans le cadre "Code Block") :
using (ResXResourceWriter writer > new ResXResourceWriter(resXFile)) { Console.WriteLine( "Associating {0} with {1}'s contents", resKey, resValueFile); Console.Write("To {0}...", resXFile);
using (ResXResourceReader reader > new ResXResourceReader(resXFile)) { foreach (DictionaryEntry node in reader) writer.AddResource((string)node.Key, node.Value); }
Ce code me semble copier le contenu d'un fichier "test.resx" (qui n'existe pas dans votre cas), puis y ajouter le contenu binaire d'un fichier "myValue" (qui n'existe pas non plus dans votre cas). Qu'est-ce exactement que vous voulez faire?
S'il s'agit simplement de créer un fichier resx avec des correspondances nom/valeur, essayez:
using(ResXResourceWriter writer = new ResXResourceWriter(@"monfichier.resx")) { writer.AddResource("Prenom", "Obelix"); writer.AddResource("Nom de famille", "Legaulois"); writer.AddResource("Occupation", "Tailleur de menhirs"); writer.AddResource("Aime", "Sangliers"); writer.AddResource("Craint", "Chute ciel sur tete");
writer.Generate(); }
Est-ce cela que vous essayiez d'obtenir?
Amicalement, Gilles.
Regards, Gilles [MVP].
(Please reply to the group, not via email. Find my MVP profile with past articles / downloads here: http://www.gilleskohl.de/mvpprofile.htm)
Gloops
Bonjour,
Ma parole, mais ça marche !
En bas de l'aide de ResXResourceReader, il y a un lien pour envoyer des commentaires. Je me demande si je ne vais pas l'utiliser pour suggérer qu'on demande l'avis de Gilles Kohl pour le choix des exemples :)
Pour l'anecdote, c'est au moment où on se met à parler de sanglier qu e le fichier apparaît dans le répertoire. Obélix aurait sûrement une explication :)
En tout cas, merci, je crois que j'aurais eu tendance à tourner en rond encore quelques heures
(en rond ... qui a dit gros ?)
________________________________________________ Gilles Kohl [MVP] a écrit, le 21/04/2008 21:14 :
Ce code me semble copier le contenu d'un fichier "test.resx" (qui n'existe pas dans votre cas), puis y ajouter le contenu binaire d'un fichier "myValue" (qui n'existe pas non plus dans votre cas). Qu'est-ce exactement que vous voulez faire?
S'il s'agit simplement de créer un fichier resx avec des correspondances nom/valeur, essayez:
using(ResXResourceWriter writer = new ResXResourceWriter(@"monfichier.resx")) { writer.AddResource("Prenom", "Obelix"); writer.AddResource("Nom de famille", "Legaulois"); writer.AddResource("Occupation", "Tailleur de menhirs"); writer.AddResource("Aime", "Sangliers"); writer.AddResource("Craint", "Chute ciel sur tete");
writer.Generate(); }
Est-ce cela que vous essayiez d'obtenir?
Amicalement, Gilles.
Regards, Gilles [MVP].
(Please reply to the group, not via email. Find my MVP profile with past articles / downloads here: http://www.gilleskohl.de/mvpprofile.htm)
Bonjour,
Ma parole, mais ça marche !
En bas de l'aide de ResXResourceReader, il y a un lien pour envoyer des
commentaires. Je me demande si je ne vais pas l'utiliser pour suggérer
qu'on demande l'avis de Gilles Kohl pour le choix des exemples :)
Pour l'anecdote, c'est au moment où on se met à parler de sanglier qu e
le fichier apparaît dans le répertoire.
Obélix aurait sûrement une explication :)
En tout cas, merci, je crois que j'aurais eu tendance à tourner en rond
encore quelques heures
(en rond ... qui a dit gros ?)
________________________________________________
Gilles Kohl [MVP] a écrit, le 21/04/2008 21:14 :
Ce code me semble copier le contenu d'un fichier "test.resx" (qui
n'existe pas dans votre cas), puis y ajouter le contenu binaire d'un
fichier "myValue" (qui n'existe pas non plus dans votre cas).
Qu'est-ce exactement que vous voulez faire?
S'il s'agit simplement de créer un fichier resx avec des
correspondances nom/valeur, essayez:
using(ResXResourceWriter writer = new
ResXResourceWriter(@"monfichier.resx"))
{
writer.AddResource("Prenom", "Obelix");
writer.AddResource("Nom de famille", "Legaulois");
writer.AddResource("Occupation", "Tailleur de menhirs");
writer.AddResource("Aime", "Sangliers");
writer.AddResource("Craint", "Chute ciel sur tete");
writer.Generate();
}
Est-ce cela que vous essayiez d'obtenir?
Amicalement,
Gilles.
Regards,
Gilles [MVP].
(Please reply to the group, not via email.
Find my MVP profile with past articles / downloads here:
http://www.gilleskohl.de/mvpprofile.htm)
En bas de l'aide de ResXResourceReader, il y a un lien pour envoyer des commentaires. Je me demande si je ne vais pas l'utiliser pour suggérer qu'on demande l'avis de Gilles Kohl pour le choix des exemples :)
Pour l'anecdote, c'est au moment où on se met à parler de sanglier qu e le fichier apparaît dans le répertoire. Obélix aurait sûrement une explication :)
En tout cas, merci, je crois que j'aurais eu tendance à tourner en rond encore quelques heures
(en rond ... qui a dit gros ?)
________________________________________________ Gilles Kohl [MVP] a écrit, le 21/04/2008 21:14 :
Ce code me semble copier le contenu d'un fichier "test.resx" (qui n'existe pas dans votre cas), puis y ajouter le contenu binaire d'un fichier "myValue" (qui n'existe pas non plus dans votre cas). Qu'est-ce exactement que vous voulez faire?
S'il s'agit simplement de créer un fichier resx avec des correspondances nom/valeur, essayez:
using(ResXResourceWriter writer = new ResXResourceWriter(@"monfichier.resx")) { writer.AddResource("Prenom", "Obelix"); writer.AddResource("Nom de famille", "Legaulois"); writer.AddResource("Occupation", "Tailleur de menhirs"); writer.AddResource("Aime", "Sangliers"); writer.AddResource("Craint", "Chute ciel sur tete");
writer.Generate(); }
Est-ce cela que vous essayiez d'obtenir?
Amicalement, Gilles.
Regards, Gilles [MVP].
(Please reply to the group, not via email. Find my MVP profile with past articles / downloads here: http://www.gilleskohl.de/mvpprofile.htm)
Gilles Kohl [MVP]
On Sat, 26 Apr 2008 12:55:33 +0200, Gloops wrote:
Bonjour,
Ma parole, mais ça marche !
En bas de l'aide de ResXResourceReader, il y a un lien pour envoyer des commentaires. Je me demande si je ne vais pas l'utiliser pour suggérer qu'on demande l'avis de Gilles Kohl pour le choix des exemples :)
:-)
Pour l'anecdote, c'est au moment où on se met à parler de sanglier que le fichier apparaît dans le répertoire. Obélix aurait sûrement une explication :)
En tout cas, merci, je crois que j'aurais eu tendance à tourner en rond encore quelques heures
(en rond ... qui a dit gros ?)
Pas moi, j'ai dit bas de poitrine, moi.
Amicalement, Gilles.
Regards, Gilles [MVP].
(Please reply to the group, not via email. Find my MVP profile with past articles / downloads here: http://www.gilleskohl.de/mvpprofile.htm)
On Sat, 26 Apr 2008 12:55:33 +0200, Gloops <gloops@invalid.zailes.org>
wrote:
Bonjour,
Ma parole, mais ça marche !
En bas de l'aide de ResXResourceReader, il y a un lien pour envoyer des
commentaires. Je me demande si je ne vais pas l'utiliser pour suggérer
qu'on demande l'avis de Gilles Kohl pour le choix des exemples :)
:-)
Pour l'anecdote, c'est au moment où on se met à parler de sanglier que
le fichier apparaît dans le répertoire.
Obélix aurait sûrement une explication :)
En tout cas, merci, je crois que j'aurais eu tendance à tourner en rond
encore quelques heures
(en rond ... qui a dit gros ?)
Pas moi, j'ai dit bas de poitrine, moi.
Amicalement,
Gilles.
Regards,
Gilles [MVP].
(Please reply to the group, not via email.
Find my MVP profile with past articles / downloads here:
http://www.gilleskohl.de/mvpprofile.htm)
En bas de l'aide de ResXResourceReader, il y a un lien pour envoyer des commentaires. Je me demande si je ne vais pas l'utiliser pour suggérer qu'on demande l'avis de Gilles Kohl pour le choix des exemples :)
:-)
Pour l'anecdote, c'est au moment où on se met à parler de sanglier que le fichier apparaît dans le répertoire. Obélix aurait sûrement une explication :)
En tout cas, merci, je crois que j'aurais eu tendance à tourner en rond encore quelques heures
(en rond ... qui a dit gros ?)
Pas moi, j'ai dit bas de poitrine, moi.
Amicalement, Gilles.
Regards, Gilles [MVP].
(Please reply to the group, not via email. Find my MVP profile with past articles / downloads here: http://www.gilleskohl.de/mvpprofile.htm)