System.Runtimeを参照するマネージドプラグインをVisualStudioで作成しています。
(具体的には、非同期メソッド(async)で戻り値がTask<type>型のメソッドAを含むプラグインです。)
Unity2018上のC#スクリプトから上記のマネージドプラグインを参照し、メソッドAを呼び出しています。
Microsoft Hololens2で実行予定のため、メソッドを参照する部分は以下のように記述しています。
UnityEngine.WSA.Application.InvokeOnUIThread(async () => { #if !UNITY_EDITOR //メソッドAを呼び出す記述 #endif }, true);
しかし、Unity上でIL2CPPにてビルドを行おうとすると、以下のエラーでビルドができません。
Assets\Scripts\AAAAAAA.cs(63,38): error CS1705: Assembly 'BBBBBBB' with identity 'BBBBBBB, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' which has a higher version than referenced assembly 'System.Runtime' with identity 'System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
マネージドプラグインのSystem.Runtimeのバージョンを意図的に下げるためにターゲットバージョンを落とせばエラーは解消されますが、メソッドAの中で参照するライブラリの要件としてWindows 10 SDK バージョン 1809 (10.0.17763.0)以上である必要があるので、ターゲットバージョンを落とさずにエラーを解消したいと考えています。どうぞよろしくお願いします。
あなたの回答
tips
プレビュー