c# - 类型 'X' 和 X' 都使用命名空间 'X' 中的 XML 类型名称 '' 。使用 XML 属性为类型指定唯一的 XML 名称和/或命名空间

标签 c# asp.net-mvc-3 xml-serialization

我在反序列化我的一个 DTO 时收到以下异常,有没有办法解决这个问题而不必使用 IXmlSerializable?

“类型‘RRA.Core.Services.DataContracts.ReferenceData.Status’和‘RRA.Core.Services.DataContracts.AR.Status’都使用命名空间‘’中的 XML 类型名称‘Status’。使用 XML属性来为类型指定唯一的 XML 名称和/或命名空间。”

这是 DTO:

namespace RRA.Core.Services.DataContracts.AR
{
    using System.Runtime.Serialization;

    /// <summary>
    /// Status data object
    /// </summary>
    [DataContract]
    public class Status : RRA.Core.Services.DataContracts.ReferenceData.Status
    {
    }
}

****更新/解决方案****

This解决了我遇到的特定问题。

最佳答案

您的两个类具有完全相同的名称。在 C# 中没关系,因为它们位于不同的命名空间中 - 一个在 RRA.Core.Services.DataContracts.AR 中,一个在 RRA.Core.Services.DataContracts.ReferenceData 中。您需要为 XML 做同样的事情。

在两个 Status 类上,设置 DataContract 属性的 Namespace 和 Name 属性以区分它们。

关于c# - 类型 'X' 和 X' 都使用命名空间 'X' 中的 XML 类型名称 '' 。使用 XML 属性为类型指定唯一的 XML 名称和/或命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12178888/

相关文章:

c# - 在 pdf 文件中搜索文本,如果文本存在则返回坐标

c# - 如果我在 using 语句结束之前返回会怎样?会调用 dispose 吗?

css - 更改任何标签的 css 类

c# - VB.NET,创建一个返回类型为泛型的函数?

c# - 在 C# 中序列化一个树对象

c# - 无法从 Azure KeyVault 读取值。指定的用户没有有效的配置文件

c# - Autofac - DelegatingHandler (HttpMessageHandler) 注册

javascript - 在 webgrid 中添加表格行时出现分页问题?

asp.net-mvc-3 - Entity Framework : ViewModel to Domain Model

.NET XmlSerializer 和对同一对象的多个引用