2015-01-08 23 views
2

我得到了相同的文件以下錯誤:LocationToLatLngValueConverter.cs類型「System.ComponentModel.INotifyPropertyChanged」在未引用的程序定義

參考: https://github.com/MvvmCross/NPlus1DaysOfMvvmCross/tree/master/N-41-Maps

The type `System.ComponentModel.INotifyPropertyChanged` is defined in an assembly that is not referenced. You must add a reference to assembly `System.ObjectModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`. 

`D:\MVVMCross\MVVMCrossApps\MAP\Map\Map.Droid\Views\LocationToLatLngValueConverter.cs` 

`Map.Droid.Views.LocationToLatLngValueConverter.Convert(Map.Core.ViewModels.Location, System.Type, object, System.Globalization.CultureInfo)': no suitable method found to override` 

`D:\MVVMCross\MVVMCrossApps\MAP\Map\Map.Droid\Views\LocationToLatLngValueConverter.cs` 

`Map.Droid.Views.LocationToLatLngValueConverter.ConvertBack(Android.Gms.Maps.Model.LatLng, System.Type, object, System.Globalization.CultureInfo)': no suitable method found to override D:\MVVMCross\MVVMCrossApps\MAP\Map\Map.Droid\Views\LocationToLatLngValueConverter.cs` 

根據演示了應用程序的所有內容。

我仍然無法擺脫問題。

+0

你能分享這個值轉換器的代碼? – Martijn00

+0

@Martijn是的,在這裏你可以下載我的代碼: https://www.dropbox.com/s/g9qp93i8rr3tab9/Map.rar?dl=0 – VikrantMore

+0

我已經創建了同樣的申請表xamarin博客,重新編碼它可以解決問題,但我得到以下錯誤:有什麼我失蹤? Cirrious.CrossCore.Exceptions.MvxException:未能從定位器MvxDefaultViewModelLocator中爲類型MapTest.Core.ViewModels.FirstViewModel構造並初始化ViewModel - 查看MvxTrace以獲取更多信息 – VikrantMore

回答

1

我已經查看了代碼,並且轉換器實際上沒有錯。它失敗的原因是你有System.ObjectModel和System.Runtime的引用指向這些類的錯誤版本。你可以看到,因爲在Xamarin工作室的名字後面有一個「紅色的X」。

也引用了非常具體的.net和其他包的版本,這是不正常的目的。

+0

感謝@Martijn。是的,我確定我知道可能會有一些版本問題,你有沒有解決上述問題的建議。當我從零開始創建相同的應用程序時,它工作正常。但想知道如何狩獵這個問題。 – VikrantMore

+0

你可以用鼠標右鍵點擊錯誤的引用並刪除它們。 – Martijn00

13

我剛剛在引用PCL的單元測試項目中出現此錯誤。 這是抱怨,我沒有引用System.Object。這個問題似乎是由於我引用System.Runtime - Resharper似乎想要添加它。

刪除對System.Runtime的引用解決了我的問題。

0

我設法通過刪除文件開頭的所有使用語句,然後逐個添加它們來解決此問題。

ReSharper的最終建議我引用System.ObjectModel

相關問題