我根据文档使用sgen
为'VcdcClassStructure.dll'中包含的唯一类生成了一个自定义类序列化程序。文件现在声明我需要做的就是
为'VcdcClassStructure.dll'和sgen生成的'VcdcClassStructure.XmlSerializers.dll'添加组合引用。
通过
添加对包含新生成的序列化类的命名空间的引用使用VcdcClassStructure; 使用Microsoft.Xml.Serialization.GeneratedAssembly;`
(我已经确认使用DotPeek命名空间是正确的。)
然后我改变了我的代码
XmlSerializer serializer = new XmlSerializer(typeof(message));
serializer.Serialize(writer, vcdMsg);
到
messageSerializer serializer = new messageSerializer();
serializer.Serialize(writer, vcdMsg);
但是在编译时我正在
找不到类型或命名空间名称'VcdcClassStructure'(您是否缺少using指令或程序集引用?)
和
名称空间“Microsoft”中不存在类型或命名空间名称“Xml”(您是否缺少程序集引用?)
我引用了相关的程序集,并为命名空间添加了using
代码。 为什么编译器会抱怨这些引用?
感谢您的时间。
编辑。为了证明我没有错过上述任何步骤。
答案 0 :(得分:1)
我已经检查过,所描述的过程正常。因此,我不得不假设您在步骤中犯了错误。它工作正常(注意:我在库中创建的类型是SomeType
,因此名称):
您可能想尝试再次执行这些步骤。