Nugetパッケージを更新したらMVVMLightのServiceLocatorがエラーになった

Nugetの更新がいっぱいあったので、全部更新したところ。

ServiceLocatorがエラーになっているので、

usingを追加したら、

エラー CS0012 型 ‘IServiceLocator’ は、参照されていないアセンブリに定義されています。アセンブリ ‘Microsoft.Practices.ServiceLocation, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ に参照を追加する必要があります。

と言われる。

どうやら、ServiceLocator使うのやめたらしい。。。

なので、

ServiceLocator.Current → SimpleIoc.Default

に置き換えた。

using Microsoft.Practices.ServiceLocation;も消した。

なぜか、iOS、AndroidプロジェクトにMVVMLightLibが入っていないので入れたら、CommonServiceLocatorも更新が来てたので入れた。

iOSはOKなんだがAndroidがダメ。。。

Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly ‘Microsoft.Practices.ServiceLocation, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’

とりあえず、Android版だけCommonServiceLocatorを2.0.2 → 2.0.1にしてみたら動いた。ちゃんと調べないとなぁ。

– 参考サイト –

https://forums.xamarin.com/discussion/105733/servicelocator-netstandard-library-2-0-0-simpleioc-default-not-valid

(追記)

やっぱり動かなくなった。

Could not load file or assembly ‘Microsoft.Practices.ServiceLocation, Version=1.3.0.0, Culture=neutral

ので、CommonServiceLocatorを1.3.0に戻した。(´;ェ;`)

– 参考サイト –

https://stackoverflow.com/questions/35435774/could-not-load-file-or-assembly-microsoft-practices-servicelocation-version-1-3

 

 

%d人のブロガーが「いいね」をつけました。