Nous avons un problème chaque fois que notre application utilise le XML Serializer, lorsque nous sommes connectés en tant qu'utilisateur qui a un nom d'utilisateur contenant caractères japonais..NET XML Serializer avec des caractères japonais dans le nom d'utilisateur
Nous avons préparé un exemple d'application qui teste le sérialiseur lui-même:
TestClass myClass = new TestClass();
myClass.MyString = "Hello World!";
using (MemoryStream stream = new MemoryStream())
{
XmlSerializer serializer = new XmlSerializer(
typeof (TestClass));
serializer.Serialize(stream, myClass);
}
MessageBox.Show("Serialization Complete!");
Où TestClass est défini comme:
[Serializable]
public class TestClass
{
public string MyString { get; set; }
}
Lorsque Serialize() est appelée, l'exception suivante est signalée :
System.InvalidOperationException: Impossible de générer une classe temporaire (résultat = 1). erreur CS0016: Impossible d'écrire dans le fichier de sortie 'c: \ Users \ ?????? \ AppData \ Local \ Temp \ qas_8hjs.dll' - 'Le nom du répertoire est non valide. '
Notez le' ????? ' où le nom d'utilisateur devrait être affiché.
Nous avons testé cela en utilisant un utilisateur avec un nom basé sur un jeu de caractères anglais, et c'est très bien.
Y a-t-il quelque chose que nous avons négligé de mettre en place (par exemple un environnement ou des paramètres AppDomain?) Ou est-ce un bug dans le sérialiseur XML?
Je sais que c'est assez spécialiste, mais toutes les idées que ce soit seraient appréciées!