我想知道当我们使用Silverlight 4客户端时,是否可以按照
this answer中描述的方式配置已知类型?
只有似乎有用的东西是使用KNownType属性,我们希望避免使用该解决方案,因为这些类位于不同的程序集中,我们不希望它们之间存在依赖关系.
以下是配置示例:
<?xml version="1.0"?> <configuration> <!-- *sniP* --> <system.runtime.serialization> <dataContractSerializer> <declaredTypes> <add type="Foo.Dto.FooDto,Foo.Dto,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null,processorArchitecture=MSIL"> <kNownType type="Foo.Dto.BarDto,processorArchitecture=MSIL" /> <kNownType type="Foo.Dto.BizDto,processorArchitecture=MSIL" /> </add> </declaredTypes> </dataContractSerializer> </system.runtime.serialization> <!-- *sniP* --> </configuration>
解决方法
查看关于该主题的
MSDN docs – 基本上,这就是您所需要的:
<configuration> <system.runtime.serialization> <dataContractSerializer> <declaredTypes> <add type="MyCompany.Library.Shape,MyAssembly,Version=2.0.0.0,PublicKeyToken=XXXXXX,processorArchitecture=MSIL"> <kNownType type="MyCompany.Library.Circle,processorArchitecture=MSIL"/> </add> </declaredTypes> </dataContractSerializer> </system.runtime.serialization> </configuration>