私は XmlSerializer タイプに対して有効です:
public class MyItem
{
public MyItem() {
Values = new List<string>();
}
public List<string> Values { get; private set; }
}
正常にシリアライズおよびデシリアライズされました (完全なコード例はこちらhttp://ideone.com/s2PvSB )。しかし、この型の .XmlSerializers.dll を生成できません。SGen は次のエラーで失敗しました:
Microsoft (R) Xml Serialization support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.33440]
Copyright (C) Microsoft Corporation. All rights reserved.
EXEC : error : Unable to generate a temporary class (result=1).
EXEC : error CS0200: Property or indexer 'TestSGen.MyItem.Values' cannot be assigned to -- it is read only
PostBuild イベントから呼び出される SGen
"$(TargetFrameworkSDKToolsDirectory)SGen.exe" /Assembly:"$(TargetFileName)" /Type:"TestSGen.MyItem" /Force
それは SGen のバグですか、それとも [どこかで] 文書化された動作ですか?