ユニバーサル Windows プラットフォーム Player Settings の Publishing Settings で “Compilation overrides” というドロップダウンメニューがあります。これには 3 つの設定があります。
1. None。すべての C# スクリプトは Mono C# コンパイラーでコンパイルされます。
2. Use Net Core Partially。 "Assets/Plugins"、"Assets/Standard Assets"、"Assets/Pro Standard Assets" のフォルダーにあるスクリプトは Mono C# でコンパイルされ、その他のものは Microsoft C# コンパイラーでコンパイルされます。
3. Use Net Core。すべてのスクリプトは Microsoft C# コンパイラーでコンパイルされます。
どのコンパイラにも利点と欠点があります。Mono C#コンパイラーでスクリプトをコンパイルすると、JavaScript スクリプトで参照できるようになります。たとえば、Angry Bots には必要です (したがって、None に設定する必要があります)。 ただし、Microsoft C# コンパイラーを使用すると、プラグインを必要とせずに Microsoft 固有の API を使用できるようになります。コードを #if ENABLE_WINMD_SUPPORT/#endif にラップするだけで、コンパイルし正常に動作します。
<user>\AppData\Local\Microsoft\AppCertKit のログで、不具合に関する追加情報を得ることができます。
心配ご無用です。ユニバーサル Windows アプリ用の定義は以下で全てです。
UNITY_WINRT | Defined on all scripts |
UNITY_WSA | Defined on all scripts |
UNITY_WINRT_10_0 | Defined on all scripts |
UNITY_WSA_10_0 | Defined on all scripts |
ENABLE_DOTNET | Defined on all scripts when using .NET scripting backend |
ENABLE_IL2CPP | Defined on all scripts when using IL2CPP scripting backend |
NETFX_CORE | Defined on C# scripts that are compiled using Microsoft C# compiler when using .NET scripting backend |
WINDOWS_UWP | Defined on C# scripts that are compiled using Microsoft C# compiler when using .NET scripting backend or IL2CPP scripting backend with .NET 4.6 compatibility level |
ENABLE_WINMD_SUPPORT | Defined on C# scripts that are compiled using Microsoft C# compiler when using .NET scripting backend or IL2CPP scripting backend with .NET 4.6 compatibility level |
プラットフォーム依存コンパイルも参照してください。
くつかの理由があります。