開発のヒホ

iOSとかAndroidとかのアプリを開発するのに四苦八苦するブログ

「アセンブリが既にインポートされています。」エラー

 WindowsPhoneアプリを開発していて、OS7.1の対応が面倒になったためOS8.0のみを対象にプロジェクトを作りなおしたところ、こんなエラーを吐きました。

エラー 2   同じ ID 'System.IO, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' のアセンブリが既にインポートされています。重複している参照の一方を削除してください。    c:\Users\hihok_000\Documents\GitHub\Develop\Practice\[アプリ名]\[アプリ名]\packages\Microsoft.Bcl.1.1.7\lib\sl4-windowsphone71\System.IO.dll

 うん?

 どうやらOS7.1用のDLLファイルと8.0用のが混じっていて、片方を消さないといけないようです。
 参照→プロジェクトには既にアセンブリ <assemblyidentity> への参照が指定されています。

確かに重複しておりました。

[作業ディレクトリ]\packages\Microsoft.Bcl.1.1.7\lib\sl4-windowsphone71\System.Threading.Tasks.dll
[WindowsPhoneディレクトリ]\v8.0\System.Threading.Tasks.dll

 どっち消せばええねん。

 たぶん下の方がWindowsPhone8.0用のDLLだから、上を消すといいんですかね。
 さっきのリンクには

2 番目の参照を削除します。同じアセンブリを参照するため、この参照は不要です。  なんて書いてるけど。

 ・・・どうやって消すんだろう?

 どうやらNuGetでインストールしたパッケージを更新すればいいらしい。

Update-Package –reinstall

 うん、これでもうまくいかない。もうやめよ。