WinFormsアプリケーションでXamlWriterが正しく動作しないようです。XamlWriterはWinFormsアプリケーションでオブジェクトをシリアル化できません
XamlWriterはMarkupWriter.GetMarkupObjectFor(オブジェクトobj)を使用します。私は、シリアル化するプロパティの完全なリストを決定する問題があると思います。
var ar = new AssemblyReference(AppDomain.CurrentDomain.GetAssemblies()。First()); var str = XamlWriter.Save(ar);私はこの結果を得たASP.NETやWPFアプリケーション実行
:これはクラス定義である
<AssemblyReference xmlns="clr-namespace:Ivolutia.TypeModel;assembly=ivoTypeModel" />
:
<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のアプリケーションで同じコードを実行して、私はこれを得ました:
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;
}
}