XmlSerializerNamespaces является неоднозначным в пространстве имен System.Xml.Serialization? - PullRequest
1 голос
/ 16 ноября 2010

Кто-нибудь когда-нибудь видел эту ошибку? По-видимому, это происходит из ниоткуда в проекте веб-приложения .net 3.5, который создает экземпляр этого объекта пространств имен для использования в сериализации xml. Я очистил и попытался пересобрать решение, проверил и сбросил ссылки на System.Xml. Это в коде, который не был затронут в течение года. Проект был недавно обновлен до .net 3.5, но с момента обновления без проблем прошло как минимум два цикла сборки. Есть идеи?

Вот руководство MS обеспечивает

Некий код:

    Dim serializerNamespaces As New System.Xml.Serialization.XmlSerializerNamespaces()
    serializerNamespaces.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance")

Ответы [ 2 ]

1 голос
/ 13 апреля 2011

Эта проблема возникла снова, и я подумал, что я задокументирую ее здесь для дальнейшего использования.Причиной было то, что SvcUtil.exe использовался для создания прокси для вызова службы WCF, и при этом он создал частичный класс в том же пространстве имен .NET, которое использовалось в другом классе.В этом случае частичный класс не используется, поэтому просто закомментируйте сгенерированный класс и проблема решена.

Namespace System.Xml.Serialization

<System.Diagnostics.DebuggerStepThroughAttribute(), _
 System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"), _
 System.Runtime.Serialization.DataContractAttribute(Name:="XmlSerializerNamespaces", [Namespace]:="http://schemas.datacontract.org/2004/07/System.Xml.Serialization")> _
Public Class XmlSerializerNamespaces
    Inherits Object
    Implements System.Runtime.Serialization.IExtensibleDataObject

    Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject

        Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
            Get
                Return Me.extensionDataField
            End Get
            Set(ByVal value As System.Runtime.Serialization.ExtensionDataObject)
                Me.extensionDataField = value
            End Set
        End Property
    End Class
End Namespace
0 голосов
/ 16 ноября 2010

Вы пытались полностью определить название класса? Как выглядит использование?

...