У нас возникают проблемы, когда наше приложение использует XML
Serializer, когда мы вошли как пользователь, который имеет имя пользователя, содержащее
Японские иероглифы.
Мы подготовили пример приложения, которое самостоятельно тестирует сериализатор:
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!");
Где TestClass определяется как:
[Serializable]
public class TestClass
{
public string MyString { get; set; }
}
Когда вызывается Serialize (), сообщается следующее исключение:
System.InvalidOperationException: невозможно создать временный класс
(Результат = 1).
ошибка CS0016: не удалось записать в выходной файл
'c: \ Users \ ?????? \ AppData \ Local \ Temp \ qas_8hjs.dll' - 'Имя каталога
недействительным. «
Обратите внимание на «?????» где имя пользователя должно отображаться.
Мы проверили это, используя пользователя с английским именем на основе набора символов,
и это нормально.
Есть что-то, что мы забыли настроить (например, любая среда
или настройки AppDomain?) или это ошибка в XML-сериализаторе?
Я знаю, что это довольно специалист, но любые идеи будут оценены!