0

関連する場合に備えて、Unity 4.6で作業しています。

完全なエラー (コンパイル時ではなく実行時エラー):

VerificationException: Error verifying UtilityExtensions:DeserializeFromEditorPrefs<T> (T,string): Could not merge stack at depth 1, types not compatible: T ([boxed] Complex) X T ([boxed] Complex) at 0x01ca

DFEPの定義:

public static T DeserializeFromEditorPrefs<T>(this T o, string prefix) where T : class {

これは例外の原因となる行です (使用する型は関係ありません。すべての型で例外が発生します。関数は不正な入力データを処理しても問題ありません。エラーは実際には呼び出しにあります)。

UtilityExtensions.DeserializeFromEditorPrefs(new AbilityInfuse(),"");

何が起こっているのかわかりません。この関数は他のプロジェクトで使用しているため、プロジェクトの設定かもしれませんが、このエラーの原因に関する情報を見つけることができませんでした。この関数にはいくつかの変種もありますが、どれも機能していないようです。同じファイルの他の一般的な拡張機能は問題なく動作しています。実行されないのは、この 1 つの関数セットだけです。

AbilityInfuse はシリアライズ可能とマークされており、シリアライズ可能な空のクラスでも問題は解決しません。

4

1 に答える 1

0

Unity は、Web Player のビルド時に高いセキュリティ設定を使用します。設定が何であるか正確にはわかりませんが、PC ビルドに切り替えると、機能の「検証」を妨げていたセキュリティ設定が削除されました。

于 2015-06-05T03:21:50.760 に答える