모든 휴대용 클래스 라이브러리를 대상으로하는 MVVM Light 인프라가 있습니다 .Net 4, SL5, Win 8, WP 8.1, WPSL 8, Xamarin.Android 및 Xamarin.iOS. 이것은 WPF 클라이언트와 완벽하게 작동하지만, Windows Store App/Win 8 환경에서 사용하려고하면 약간의 저항에 맞서 있습니다. 첫 번째 문제는 App.xaml에서 발견된다 :휴대용 클래스 라이브러리 - Windows 저장소 응용 프로그램 : "파일 또는 어셈블리 Microsoft.Threading.Task를로드 할 수 없습니다"
내가 할 디자인 타임에<Application
x:Class="Win8Client.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:INPS.Vision.Appointments.Shared.ViewModels"
xmlns:local="using:Win8Client">
<Application.Resources>
<vm:ViewModelLocator x:Key="Locator" />
</Application.Resources>
</Application>
"파일이나 어셈블리 'Microsoft.Threading.Tasks'를로드 할 수 없습니다, 버전 = 1.0.12.0 ..."에 어떤을 언급하고 내 ViewModelLocator. 이 컴파일 및 확인을 실행하려면 나타납니다하지만 모든 디자인 시간 데이터를 가져 오지 않습니다. 디자인 타임 데이터 WPF 클라이언트에서 제대로 작동합니다.
일단이 라인이 호출되는 일단 내가 처음보기를 볼 수 있지만 실행 :Slots = await _appointmentsDataProvider.GetAppointments(SelectedDate);
나는 ViewModelBase의 MVVM 조명 설정 방법을 활용 내 슬롯 속성 세터에서 다음과 같은 예외를 얻을. Slots 속성은 아직 모든 UI에 바인딩되지 않습니다.
예외 :
슬롯 재산권 :
public List<Slot> Slots
{
get { return _slots; }
set
{
Set(SlotsPropertyName, ref _slots, value); // <-- Exception thrown here
}
}
가 실현 ". 응용 프로그램은 (0x8001010E (RPC_E_WRONG_THREAD) HRESULT에서 예외)를 다른 스레드 정렬 화 된 인터페이스를 소위"
나는 실제로 질문하지 않았다. 간단히 말해서, Windows Store App에서 MVVM Light를 사용하는 가장 좋은 방법은 무엇입니까?도움이나 조언을 미리 보내 주셔서 감사합니다.
어셈블리 로딩 오류는 다음을 시도하십시오. 모든 Microsoft.Bcl' NuGet 패키지를 제거하고'app.config'에서 모든 어셈블리 리디렉션을 제거한 다음 해당 패키지의 최신 버전을 설치하십시오. –