UWP 용으로 Prism 6을 사용하고 Microsoft.NetCore.Uwp 5.2.2를 사용하고 있습니다. 릴리스 버전에서 리플렉션을 사용할 수없는 문제가 발생했습니다.UWP .NET 기본 문제
저는 IDictionary<string, ReadOnlyCollection<string>>
과 같은 개체가 있습니다. default.rd.xml에 정책을 추가하는 방법은 무엇입니까?
UWP 용으로 Prism 6을 사용하고 Microsoft.NetCore.Uwp 5.2.2를 사용하고 있습니다. 릴리스 버전에서 리플렉션을 사용할 수없는 문제가 발생했습니다.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 정책에 정확하게 적용되지 않았습니다. 구문을 알아야했습니다. –