0

Xamarin.Android 응용 프로그램 용으로 빌드 된 휴대용 클래스 라이브러리에서 NotifyCollectionChangedEventArgs 및 NotifyCollectionChangedAction과 같은 일부 클래스를 사용하려고합니다. 이들은 System.Collections.Specialized 네임 스페이스의 일부입니다.System.Collections.Specialized는 Xamarin.Android의 PCL 프로필에서 사용할 수 있습니까?

이 PCL 라이브러리를 컴파일 할 때마다 컴파일러는 위에서 언급 한 네임 스페이스를 누락 된 것으로보고합니다. 이 오류를 해결할 PCL 프로파일을 찾을 수 없었습니다.

PCL 프로필에서이 네임 스페이스를 사용할 수 있는지 또는 Xamarin.Android 및 Xamarin.iOS 플랫폼에서이 네임 스페이스를 사용할 수 있는지 알고 싶습니다.

+1

정말로 필요한 경우가 아니면 .NET 표준 라이브러리 및 .NET Platform Standards를 PCL로 선호해야합니다. Xamarin은 프로젝트 템플리트 등에서 곧 완전히 수정해야합니다. –

+0

@LexLi, 출시 된 기능으로 출시 될 것으로 예상되는시기는 언제입니까? 몇 주 또는 몇 달? – gyurisc

+0

정말로 해킹하고 싶다면 지금 .NET 코어로 재생할 수 있습니다. 그러나 오히려 기다리는 경우 VS vNext는 몇 개월 후에 더 좋은 옵션이어야합니다. 귀하의 답변에 대해 –

답변

2

대답은 예입니다. 그러나, 그것은 당신이 선택하는 PCL 프로파일에 따라 다릅니다. 따라서 예를 들어 Silverlight를 대상으로하는 경우에는 이러한 기능을 사용할 수 없습니다.

그러나 새로운 PCL 프로파일을 만들면 78이 잘 작동하며 ObservableCollection에 개체를 추가 할 때 이러한 네임 스페이스가 해결되고 이벤트가 올바르게 트리거됩니다.

편집 :

프로필 (78)는 다음과 같이 구성 .NET 4.5 이상, Windows 8 이상, WinPhone 8 이상, Winphone 실버 8 스토어 앱 (윈도우 8)과 자 마린

하기 위해 Silverlight는 없지만이 프로필은 NotifyPropertyChanged 및 CollectionChanged에 필요한 두 개의 네임 스페이스를 지원합니다. 프로젝트 속성 (오른쪽 클릭> 속성)으로 이동하십시오. 라이브러리 탭에서 변경을 누르고 Silverlight와 관련된 모든 항목의 선택을 취소하십시오. Silverlight가없는 프로필로 전환해야합니다. 그러면 프로필 7이 대신 나타납니다.

이제 Microsoft와 NuGet 팀은 Netstandard라는 다른 프로필로 전환하고 있습니다. Netstandard는 향후이를 쉽게 수행 할 수있게 해줍니다.

+0

감사합니다. 78 번 프로필이 무엇인지 어떻게 알 수 있습니까? 내 프로필에서 Silverlight 플랫폼을 제거하려면 어떻게합니까? Visual Studio는 항상 Silverlight를 어떤 이유로 든 넣습니다. – gyurisc