1


1

このようにXAMLファイルを動的に読み込むアプリケーションがあります。

StreamReader sr = new StreamReader(pathAndFileName); this.Content = XamlReader.Load(sr.BaseStream);

ロードされるXAMLファイルのうちの1つ(すべてのコードからビハインドコードが削除されています)では、これは機能します。


しかし、これは「タグ 'FieldEmailView’はXML名前空間 'clr-namespace:DynamicXaml123; assembly = DynamicXaml123’には存在しません」というエラーを出します。


アセンブリ参照を省略すると、エラーになります

メッセージ= "" XmlNamespace "、"アセンブリ "または" ClrNamespace "

XAMLを読み込むとき

なぜアセンブリ参照をここに含めることができないのですか。

2 Answer


1


これを読み込むときは、アセンブリ参照を解決できる必要があります。 つまり、このアセンブリはアプリケーションが参照できるようになっている必要があります。そのための1つの方法は、DynamicXaml123をGACに展開することです。


0


http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx[process monitor]を入手して、アプリがdynamicxaml123を探している場所を確認することをお勧めします。  http://msdn.microsoft.com/en-us/library/e74a18c4(VS.71).aspx[fusion log]も確認してください。 XamlSerializerの動作は、名前空間を含める場合と含まない場合では異なります。その変更は、ランタイムがアセンブリを探し回っている場所に影響を及ぼします。

fuslogvwを設定してから実際にロギングが開始されるまでに時間がかかることがあります。