XamlWriter не может сериализовать объекты в приложении WinForms - PullRequest
0 голосов
/ 16 апреля 2009

Очевидно, что XamlWriter не работает правильно в приложении WinForms.

XamlWriter использует MarkupWriter.GetMarkupObjectFor (object obj). Я полагаю, что существует проблема с определением полного списка свойств для сериализации.

var ar = new AssemblyReference (AppDomain.CurrentDomain.GetAssemblies (). First ()); var str = XamlWriter.Save (ar);

Запустив приложение ASP.NET или WPF, я получил такой результат:

<AssemblyReference AssemblyName="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
HintPath="file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll" 
SpecificVersion="False" xmlns="clr-namespace:Ivolutia.TypeModel;assembly=ivoTypeModel" />

Но, запустив тот же код в приложении WinForms, я получил это:

<AssemblyReference xmlns="clr-namespace:Ivolutia.TypeModel;assembly=ivoTypeModel" />

это определение класса:

public class AssemblyReference : DependencyObject
{
    public string AssemblyName { get; set; }
    public string HintPath { get; set; }
    public bool SpecificVersion { get; set; }

    public AssemblyReference() { }

    public AssemblyReference(Assembly assembly)
        {
            AssemblyName = assembly.FullName;
            HintPath = assembly.CodeBase;
        }

        public override string ToString()
        {
            return AssemblyName;
        }
}

1 Ответ

0 голосов
/ 21 мая 2009

Ты уверен? Я только что создал временный проект WinForms, и он выводит:

Edit: Кроме того, есть ли причина, по которой обычная сериализация XML не работает для вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...