带有日语字符的.NET XML Serializer用户名

时间:2008-11-12 10:32:45

标签: .net xml unicode xml-serialization

每当我们的应用程序使用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序列化程序中的错误?

我知道这是非常专业的,但任何见解都会受到赞赏!

1 个答案:

答案 0 :(得分:1)

您可以尝试使用SGEN来避免它必须在运行时创建dll吗?

但是,我很想将其记录为connect上的错误。

请注意,SGEN方法无法帮助网络服务器:

  

这些生成的程序集不能   用于Web的服务器端   服务。此工具仅适用于Web   服务客户和手册   序列化方案。