AndroidStudio に慣れすぎて他の環境を覚えるのが面倒くさーい。
今さらUnityの環境構築している「軽く熊」です。
なぜだかVisual Studio Codeがエラーを吐いているんですよー。
まぁ、動いているので放置プレイでも良いのですが…
今日はVisual Studio Codeの「.NET v4.5 アセンブリ無いエラー」についてです。
Unity 2018.3.x をインストールしてVisual Studio Codeを使用していると
Visual Studio Codeが「エラーがあるよ。見る?」と警告を出してきます。
見たくないのですがしょうがないので見る事にします。
The reference assemblies for framework ".NETFramework,Version=v4.5" were not found.
Windows10を使っているので.NET4.xのランタイムは含まれているハズなのに…
調べてみると.NET4.xは互換性があるのでマイナーバージョン違いで
複数インスト-ルされる事は無いようでした。
問題の方の原因を調べてみるとunityが自動生成する
csprojのtargetframeworkに.NET 4.5 を要求する記述があるからとの事。
Microsoft からダウンロード出来るのはv4.5.2。
バージョンが合わないので当然エラーになります。
targetframeworkを4.5.2に書き換えても自動生成で4.5に戻るので意味なし。
これ…Unityのバグじゃないでしょうか…。
最新バージョンに更新すれば直るかもしれませんが
業務の都合上、Unityのバージョンは簡単に変えられません。
あまりお勧めしませんが海外に修正する方法の投稿がありましたので
https://github.com/Unity-Technologies/vscode-unity-debug/issues/115
google先生に翻訳して貰いました。
数時間後、私はついに解決策を見つけました。 Unityはあなたのマシンの最新のバージョンではなく、 ターゲットの.netフレームワークを4.5にデフォルト設定しています。 あなたはcsprojファイルでそれを見ることができます、 しかしそれがそれを変更することは無意味です、 それはユニティがそれが起動されるたびにそれを元に戻すので。 それを超えて、正確にバージョン4.5はマイクロソフトのサイトから ダウンロードすることができません、わずか4.5.2。 解決策 4.5.2 Developer Packをインストールします (マシンにアップデートされたバージョンがあるため、ランタイムではインストールできません)。 https://dotnet.microsoft.com/download/thank-you/net452-developer-pack その後、に進みます。 Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework そして、v4.5.2フォルダの名前をに変更しますv4.5。
つまり.NET SDKs for Visual Studioから
.NET Framework 4.5.2 Developer Packをダウンロードして、
インストール先のフォルダ名を4.5.2から4.5にするとのこと。
試してみると…おっ、確かに直りました。
Visual Studio Codeを使っているといろいろ警告が出たりしますが
動いているなら無視した方が気が楽かもしれませんね。
ナムアミダブツ!
シリーズ記事
Unity + VSCode のブレークポイントが効かない 2020/04
Unity + VSCode のコード補間が効かない 2020/03
Unity 2018.3とVisual Studio Codeを組み合わせるとゴネる ← この記事だよ!