2009-04-16 18 views
0

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; 
     } 
} 

答えて

0

本当にですか?私はただ一時のWinFormsプロジェクトを作成し、それが出力されます:

< AssemblyReferenceのAssemblyName = "mscorlib、バージョン= 2.0.0.0、文化=中立、なPublicKeyToken = b77a5c561934e089" HintPath = "ファイル:/// C:/ WINDOWS /マイクロソフト.NET /フレームワーク/ v2.0.50727の/のMscorlib.dll」SpecificVersion = "偽" のxmlns = "CLR名前空間:XamlWriterTester;アセンブリ= XamlWriterTester"/>

編集: さておき、その理由平野存在するのでXMLのシリアル化が機能しません。

関連する問題