2013-05-29 246 views
3

我正在使用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包裝的問題嗎?

+0

離家出走。無法正確回答。我知道eventtocommand依賴於混合交互 - 但通常ms sdk會安裝這個...下週將嘗試檢查更多內容。 – Stuart

+0

謝謝。我現在使用的是舊版本,但使用更新的版本會很好。 雖然SDK確實安裝了System.Windows.Interactive,但它似乎是版本3.9.5.0。 –

+0

mvvmcross框架使用針對wp7.1的項目,其中有一個項目作爲system.windows.interactivity的參考。如果你的主項目是以wp8爲目標的,也許在某處有衝突......前段時間我也遇到了同樣的問題,但我直接使用mvvmcross項目,所以我剛剛將WP7.1項目轉換爲WP8。這不是最好的方法,但對我來說它工作。也許我會在不久的將來改變它。 – zleao

回答

3

只是爲了回答這個問題,因爲我今天碰到這個問題來了......

我有一個新的安裝Windows 8.1和Windows Phone 8的SDK的。我的sln會生成,但是當MvvmCross在啓動時解析插件時,它會崩潰,並且ReflectionLoadTypeException - LoaderExceptions屬性包含一個條目 - 儘管從項目的引用管理器的擴展名列表中引用,但無法找到System.Windows.Interactivity

解決方案是安裝Windows Phone 7 SDK並從C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\Windows Phone\v7.1\Libraries\System.Windows.Interactivity.dll獲取Windows Phone 7版本。

+0

是的,我最終降級了DLL以使其工作。不幸的是,這意味着我無法使用一些其他的ThirdParty程序集,因爲它們引用了較新版本的System.Windows.Interactivity。正如@zleao指出的那樣,這是因爲MVVMCross項目針對該DLL的WP7.1版本。 –

+1

今天遇到同樣的問題。通過將MvxEventToCommand.cs複製到我們的WP8解決方案並引用它(然後根據正確的System.Windows.Interactivity版本構建)而不是MvvmCross中的一個來解決它。 –

相關問題