每当我们的应用程序使用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序列化程序中的错误?
我知道这是非常专业的,但任何见解都会受到赞赏!