私はUWPとMicrosoft.NetCore.Uwp 5.2.2用にPrism 6を使用しています。私はリフレクションを使用することができないリリースバージョンの問題に直面した。UWP .NETネイティブの問題
私はIDictionary<string, ReadOnlyCollection<string>>
のようなオブジェクトを持っています。 default.rd.xmlにポリシーを追加するにはどうすればいいですか?
私はUWPとMicrosoft.NetCore.Uwp 5.2.2用にPrism 6を使用しています。私はリフレクションを使用することができないリリースバージョンの問題に直面した。UWP .NETネイティブの問題
私はIDictionary<string, ReadOnlyCollection<string>>
のようなオブジェクトを持っています。 default.rd.xmlにポリシーを追加するにはどうすればいいですか?
私のプロジェクトでは、IDictionary
と最近似た問題がありました。hereを参照してください。エラーメッセージはあなたに似ているかどうかは知りませんが、私たちの場合、解決策は次のように.rd.xmlファイルにランタイムディレクティブを追加しました:
<Type Name="System.Collections.Generic.IDictionary{System.String,System.Collections.ObjectModel.ReadOnlyCollection{System.String}}" MarshalStructure="Excluded" />
問題を再現できません。私はIDictionary<string, ReadOnlyCollection<string>>
オブジェクトを含むリリースモードでプロジェクトを実行しますが、エラーや例外は発生しません。私のOSバージョンはビルド14393で、ローカルマシンでテストしました。
エラーまたは例外が発生しているかどうかわからないため、次のコレクションの相対ポリシーをdefault.rd.xml
に追加してみてください。 rd.xml
設定ファイルについて
<Assembly Name="*Application*" Dynamic="Required All" />
<!--Add your application specific runtime directives here.-->
<Namespace Name="System.Collections.ObjectModel" >
<TypeInstantiation Name="ReadOnlyCollection"
Arguments="ContosoClient.DataModel.ProductGroup" Serialize="Public"/>
<TypeInstantiation Name="ObservableCollection"
Arguments="ContosoClient.DataModel.ProductItem" Serialize="Public" />
<TypeInstantiation Name="ReadOnlyObservableCollection"
Arguments="ContosoClient.DataModel.ProductGroup" Serialize="Public" />
</Namespace>
詳細はthis articleを参照してください。反射シナリオでMissingMetadataException
を取得した場合は、this blogに従って問題を解決できます。
感謝。やってみます。問題は、アプリケーションが中断して終了するときにこのプロパティを使用して保存することです。 Prismライブラリに精通しているかどうかはわかりませんが、保存したいすべてのプロパティの上に '[ReatorableState]'属性を使用しています。プリズムセッション状態サービスはこの属性を使用します。私は 'InvalidDataContractAttribute exception'を取得しています –
、ありがとうございました。問題はMarshalStructureポリシーに正確には当てはまらなかった、私は文法 –