首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SGen无法为有效类型生成程序集

SGen无法为有效类型生成程序集
EN

Stack Overflow用户
提问于 2013-11-13 02:21:03
回答 1查看 454关注 0票数 1

我有一个对XmlSerializer类型有效的:

代码语言:javascript
复制
public class MyItem
{
  public MyItem() {
    Values = new List<string>();
  }

  public List<string> Values { get; private set; }
}

它成功地序列化和反序列化(完整的代码示例在这里http://ideone.com/s2PvSB)。但是,我无法为此类型生成.XmlSerializers.dll,SGen失败,错误代码为:

代码语言:javascript
复制
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为

代码语言:javascript
复制
"$(TargetFrameworkSDKToolsDirectory)SGen.exe" /Assembly:"$(TargetFileName)" /Type:"TestSGen.MyItem" /Force

是SGen中的错误还是记录在案的行为?

EN

回答 1

Stack Overflow用户

发布于 2013-11-13 03:09:05

这似乎很奇怪,因为代码链接确实对我有效。如果您将List<string>更改为string[],它将不起作用。VS对collection initializers做了什么奇怪的事情吗?也许这可以让你的代码正常运行,但是SGen不能使用同样的技巧?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19936961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档