x86とx64の出力が異なる次のサンプルコードがあります。XmlSerializerはx86とx64の出力が異なります
class SampleSerializer
{
public static string Serialize(string[] samples)
{
var xmlDocument = string.Empty;
var xmlSerializer = new XmlSerializer(typeof(string[]));
using (var ms = new MemoryStream())
{
xmlSerializer.Serialize(
ms,
samples);
xmlDocument = Encoding.UTF8.GetString(ms.ToArray());
}
return xmlDocument;
}
}
class Program
{
static void Main(string[] args)
{
var samples = new string[] { };
var doc = SampleSerializer.Serialize(samples);
Console.WriteLine(doc);
}
}
プラットフォームターゲットは出力はx86です:
<?xml version="1.0"?>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
プラットフォームターゲットは、出力をX64されている場合です。
<?xml version="1.0"?>
<ArrayOfString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
あなたはどれCPUと同じことを達成することができますし、 32ビットのセットまたは未設定を推奨します。
注意深く見てみると、名前空間の順番は、xsi
とxsd
です。それはなぜそうですか?私は、名前空間の順序がプラットフォームに依存しないことを期待しています。
。 –