0

次の構造の Unity ネイティブ プラグインがあります。

  • Plugins/Android/Foo.jar// ネイティブ Android ライブラリ
  • Plugins/Android/Foo.Android.dll// ネイティブ Android ルーチンへのアクセスを許可する管理された Unity ラッパー (Android のみとしてマーク)
  • Plugins/iOS/libFoo.a// ネイティブ iOS ライブラリ
  • Plugins/iOS/Foo.iOS.dll// ネイティブ iOS ルーチンにアクセスできるマネージド Unity ラッパー (iOS のみとしてマーク)

Android または iOS プラットフォームを選択して Unity プロジェクトを MonoDevelop で開くと、Foo.Android.dll の参照が追加されません。iOSでも同じ状況。Unity Editor Consoleプラグイン外の Unity コードで使用されている参照されていないクラスに関するエラーも含まれています。

Assets/MainScript.cs(3,11): error CS0234: The type or namespace nameBar' は名前空間に存在しませんFoo'. Are you missing an assembly reference?

iOS/Android でそれぞれ MonoDevelop を開く前にFoo.iOS.dll/Foo.Android.dllプラットフォーム設定を変更すると、期待どおりに動作します。Any Platform

プロジェクトをビルドすると、iOS と Android の両方で正常にビルドされます。

管理ライブラリを配置する必要がある場所、または Unity に MonoDevelop プロジェクトを開く際の参照として適切なライブラリを強制的に追加するために使用する設定はどれですか?

Unity エディター 5.2.0f3、OS X Yosemite 10.10.5 (14F27)

4

1 に答える 1

0

可能な解決策の1つ:

Unity エディターには、ターゲット プラットフォームのみを選択してEditor新しいスタブ ライブラリを追加することで解決された問題よりも、としてマークされたライブラリのみが含まれます。Plugins\X86\Foo.Editor.dllEditor

この Unity の後、Plugins\X86\Foo.Editor.dllMono Development プロジェクトを開く際にスタブへの参照を追加しますが、ビルド時に実際のプラットフォーム依存のライブラリを使用します。

于 2015-10-02T11:37:03.943 に答える