我正在使用MvvmCross框架創建Windows Phone 8項目。 在XAML中我WP8項目中,我有以下幾點:在WP8項目中使用MvxEventToCommand時出現構建錯誤
<i:Interaction.Triggers >
<i:EventTrigger EventName="Tap">
<Commands:MvxEventToCommand Command="{Binding OnItemTappedCommand}" />
</i:EventTrigger >
</i:Interaction.Triggers>
我的命名空間如下:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
和
xmlns:Commands="clr-namespace:Cirrious.MvvmCross.WindowsPhone.Commands;assembly=Cirrious.MvvmCross.WindowsPhone"
當我嘗試建立我的錯誤:
無法解析程序集的相關性System.Windows.Interactivity,Ve rsion = 3.8.5.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35',因爲它尚未預加載。在使用ReflectionOnly API時,必須通過ReflectionOnlyAssemblyResolve事件按需預加載或加載相關程序集。
尋找ILSpy我可以看到Cirrious.MvvmCross.WindowsPhone.dll引用這個DLL,但我的程序集中只有我的程序集引用列表中可用的版本3.9.5.0。
我已經嘗試在我的app.config中添加程序集重定向,但我認爲這對於運行時解析更適合於生成錯誤。
解決此問題的最佳方法是什麼?
感謝
- 編輯 -
我設法找到System.WindowsInteractive.dll的WP7.1版本是3.8.5.0版本來解決這個問題。我的項目肯定是針對Windows 8.0手機操作系統。
這可能是MVVMCross的Nuget包裝的問題嗎?
離家出走。無法正確回答。我知道eventtocommand依賴於混合交互 - 但通常ms sdk會安裝這個...下週將嘗試檢查更多內容。 – Stuart
謝謝。我現在使用的是舊版本,但使用更新的版本會很好。 雖然SDK確實安裝了System.Windows.Interactive,但它似乎是版本3.9.5.0。 –
mvvmcross框架使用針對wp7.1的項目,其中有一個項目作爲system.windows.interactivity的參考。如果你的主項目是以wp8爲目標的,也許在某處有衝突......前段時間我也遇到了同樣的問題,但我直接使用mvvmcross項目,所以我剛剛將WP7.1項目轉換爲WP8。這不是最好的方法,但對我來說它工作。也許我會在不久的將來改變它。 – zleao