アセンブリ定義ファイル

公式サイト:

アセンブリの定義 | Unity マニュアル [公式]

使い方

設定
  • Name アセンブリ定義の名前を指定する
  • Allow Unsafe Code unsafe としてマークされたコードを許可する (デフォルト無効)
  • Auto Referenced このアセンブリを自動的に参照させる (デフォルト有効)
  • Override References アセンブリの参照を手動で管理する (デフォルト無効)
  • No Engine References エンジンを参照しない/UnityEngine 及び UnityEditor を除外する (デフォルト無効)
  • Root Namespace デフォルトの名前空間を指定する
  • Define Constraints 指定したマクロが全て定義されている場合にアセンブリをコンパイル及び参照する (デフォルトなし)
  • Assembly Definition References 指定したアセンブリ定義を参照する
    • Use GUIDs GUID で参照する (デフォルト有効)
  • Assembly References コンパイル済みアセンブリ (.dll) を参照する
  • Platforms アセンブリを使用するプラットフォームを指定する
    • Any Platform 任意のプラットフォームに含める (デフォルト有効)
    • Exclude Platforms 指定したプラットフォームから除外する
    • Include Platforms 指定したプラットフォームに含める
    • Select All 全て選択する
    • Deselect All 全ての選択を解除する
  • Version Defines プロジェクトに含まれるパッケージのバージョンに応じてマクロを定義する (デフォルトなし)

ドキュメント:

Assembly Definition のプロパティ | Unity マニュアル [公式]

参考:

Assembly Definition Files という神機能 | テラシュールブログ

Assembly Definition 完全に理解した – Qiita

Unity 2017.3 の Assembly Definition Files を適切に設定してコンパイルにかかる時間を削減する – Qiita

Assembly Definition Files の地雷ポイントについて解説してみる | もんりぃ is undefined.

Add managed DLL to an Assembly Definition – Unity Forum

導入

参考:

Assembly Definition のお勉強 | トマシープが学ぶ

Unity 2017.3 で追加された Assembly Definition をちょっと触ってみた – Qiita

Assembly Definitions (Mohamed Hijazi) | Bootcamp

Assembly Definition Files | Techblog InnoGames

ビルドパフォーマンス

参考:

なんだかこのプロジェクト、エディタコンパイル時間が長いぞ、という時の対処 – Qiita

Assembly Definition を分けるとコンパイルが高速になるってホント?検証してみた! | VirtualCast Blog

アセンブリ定義参照

ドキュメント:

Assembly Definition Reference のプロパティ | Unity マニュアル [公式]

参考:

asmref を使うと internal アクセスできて便利 – Qiita

internal

参考:

Assembly Definition Files を使った上で internal にアクセスする方法 – Qiita

internal な型やメンバにアクセスするには、多分これが一番早いと思います – Qiita

InternalsVisibleTo を用いて特定アセンブリから internal にアクセスできるようにする | はなちるのマイノート

How to access useful Unity Editor / Engine internal methods? – Unity Answers

.NET ランタイム

参考:

Unity で.NET 4.x を使用する | Microsoft Learn [公式]

Windows ユニバーサルラインタイム API

ドキュメント:

WinRT API in C# Scripts | Unity マニュアル [公式]

参考:

Using Windows Universal Runtime APIs from a Standard Unity Executable | Microsoft Community Hub

ファイル形式

  • .asmdef アセンブリ定義ファイル
  • .asmref アセンブリ定義参照ファイル

ドキュメント:

アセンブリ定義ファイルの形式 | Unity マニュアル [公式]

.NET クラスライブラリが使用できない

.NET 4.x プロファイルを使用している場合、一部の .NET クラスライブラリ API は既定では参照が追加されないため、明示的に追加する必要がある。

使い方

プロジェクトディレクトリの直下に csc.rsp ファイルを作成し、以下のような記述を追加する。

-r:System.Net.Http.dll

参考:

追加のクラスライブラリアセンブリの参照 | Unity 2020.3 マニュアル [公式]

アセンブリが認識されない

参考:

Can’t use other assemblies with my scripts and can’t add reference through Visual Studio either – Stack Overflow

Unity Learn

Working with Assembly Definitions | Unity Learn [Official]

ドキュメント

アセンブリの定義 | Unity マニュアル [公式]

Tips

Assembly Definition Files の地雷ポイントについて解説してみる | もんりぃ is undefined.

チュートリアル

Speed Up Compile Times with Assembly Definitions (Game Dev Guide)

Assembly Definitions (Infallible Code)

Assembly Definitions Explained (Llam Academy)

Understanding Assemblies (Iain McManus)

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA