Windows10とUnity2018で.NET4.6にしたらRiderが真っ赤になった
実行環境
Windows10 Jetbrains Rider 2018.2 Unity 2018.2.12f1 .NET Framework 4.6
Unityで使うC#(というか.NET)のバージョンを上げたらプログラミングエディタに怒られた話。
Riderはいいぞ
UnityでC#のプログラミングをするとき、プログラミングエディタとして私の周りほぼ全員がMicrosoftのVisual Studioを使っている。 私だけJetbrainsのRiderを使っている。Anki然り、素晴らしいものはとことん使い倒したい派なので割と声高々に布教するのだが、身近で使っている人が私だけというのは悲しい。
以下の書籍を読んで、エラーの原因を探す方法(=デバッギング)を覚えたあたりから開発効率が上がっている。
二冊ともJetbrains製品のJava専用プログラミングエディタである「IntelliJ IDEA」ベースで書かれているが、Jetbrains製品の操作方法はRider含めどれもほぼほぼ変わらないので参考になる。
IntelliJ IDEAハンズオン ――基本操作からプロジェクト管理までマスター
- 作者: 山本裕介,今井勝信
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/08
- メディア: Kindle版
- この商品を含むブログを見る
こっちは少し古いし洋書だけど、上の本を覚えていれば「ほんほん、なるほどー」ってなる。エディタの知識に肉付けをしていく感覚で見れる。
IntelliJ IDEA Essentials (English Edition)
- 作者: Jarosław Krochmalski
- 出版社/メーカー: Packt Publishing
- 発売日: 2014/12/22
- メディア: Kindle版
- この商品を含むブログを見る
まあ、それはいいんだけど、C#6系の$"hoge {fuga} {mogu}"
式だったり、いろんな文法が使いたかったので、調べたらUnityが.NETフレームワーク4.x系に対応できるとのことだった。
①Unityでまず.NET 4.xを使えるようにする ②Riderで怒られる ③その解決方法
の順で書いていく。
①Unityでまず.NET 4.xを使えるようにする
Unityで.NET 4.xを設定する手順
Edit > Project Setting > Playerをクリック
そうするとPlayer SettingというメニューがInspectorに現れる。
その中の、Other Setting > Configurationとたどっていくと、
Scripting Runtime Versionという項目があるので、.NET 4.x Equivalentを選ぶ。
Unityの再起動を促されるので、再起動する。
②Riderに怒られる
次にRiderを開いたら真っ赤になって、怒ってきた。
真っ赤っか。
Event Logにはこんな感じで吐いていた。
2018/10/26 22:36 Project 'Assembly-CSharp' load finished with warnings: フレームワーク ".NETFramework,Version=v4.7.1" の参照アセンブリが見つかりませんでした。これを解決するには、このフレームワーク バージョンの SDK または Targeting Pack をインストールするか、SDK または Targeting Pack をインストールしているフレームワークのバージョンにアプリケーションを再ターゲットしてください。アセンブリはグローバル アセンブリ キャッシュ (GAC) から解決され、参照アセンブリの代わりに使用されるため、アセンブリが目的のフレームワークに正しくターゲットされない場合もあります。 at (1179:5) 22:36 Project 'Assembly-CSharp-firstpass' load finished with warnings: フレームワーク ".NETFramework,Version=v4.7.1" の参照アセンブリが見つかりませんでした。これを解決するには、このフレームワーク バージョンの SDK または Targeting Pack をインストールするか、SDK または Targeting Pack をインストールしているフレームワークのバージョンにアプリケーションを再ターゲットしてください。アセンブリはグローバル アセンブリ キャッシュ (GAC) から解決され、参照アセンブリの代わりに使用されるため、アセンブリが目的のフレームワークに正しくターゲットされない場合もあります。 at (1179:5) 22:36 Project 'Assembly-CSharp-Editor-firstpass' load finished with warnings: フレームワーク ".NETFramework,Version=v4.7.1" の参照アセンブリが見つかりませんでした。これを解決するには、このフレームワーク バージョンの SDK または Targeting Pack をインストールするか、SDK または Targeting Pack をインストールしているフレームワークのバージョンにアプリケーションを再ターゲットしてください。アセンブリはグローバル アセンブリ キャッシュ (GAC) から解決され、参照アセンブリの代わりに使用されるため、アセンブリが目的のフレームワークに正しくターゲットされない場合もあります。 at (1179:5) 22:36 .NET Framework Not Installed: Download and install .NET Framework 4.7.1 Developer Pack
③その解決方法
調べたら同じようなことで怒られている人もいたんだけど、私のOSはWinで下記の人のOSはMacなので、解決方法が違った(ので記事にした)。
結論としては、Unity側での設定でRiderの怒りは静まった。
UnityのEdit > Preferenceをクリック
その後PreferenceウィンドウのRiderをクリック
Override TargetFrameWorkVersionにチェックを入れる。
その後、RiderとUnityを再起動したら怒られなくなった。
↓
めでたし。