Assembly-DLL in Unity

I. Einleitung

Eine Assembly besteht aus einer oder mehreren Dateien. Dateien, die normalerweise die Erweiterungen .exe und .dll haben, werden Assemblys genannt. .exe ist eine statische Assembly, die direkt unter .net ausgeführt und geladen werden kann, da es in der exe eine Hauptdatei gibt. Funktion (Eintrag Funktion), .dll ist eine dynamische Linkbibliothek, die dynamisch durch Reflektion geladen wird. Eine Assembly ist eine AssemblyDefinitionFile.asmdef-Datei und ihr Inhalt ist ein Feld im JSON-Format. Nachdem sie erstellt wurde, können Sie sie öffnen und JSON direkt bearbeiten. Die Struktur
einer Anwendung ist von groß nach klein sortiert: Anwendungsdomäne (AppDomain) , Assembly (Assembly), Modul (Module), Typ (Type), Mitglieder (EventInfo, FieldInfo, MethodInfo, PropertyInfo) auf mehreren Ebenen


2: Vorteile von Baugruppen

——Wenn das Skript geändert wird, kompiliert Unity alle Skripte unter der aktuellen Assembly neu. Zu viele Skripte führen zu einer langen Kompilierungszeit, was für große Projekte nicht geeignet ist. Daher kann die Verwendung einer Assembly die Zeit für die Codekompilierung verkürzen. Nachher Jedes Mal, wenn eine Assembly verwendet wird. Nachdem das Skript geändert wurde, werden nur alle Skripte unter der Assembly, zu der das aktuelle Skript gehört, und alle Skripte unter der Assembly, die auf diese Assembly verweist, neu kompiliert. Alle Skripte in derselben Assembly können auf einander zugreifen und darauf
verweisen Dies führt zu einer hohen Projektkopplung. Es ist schwierig, Code umzugestalten und zu optimieren
. Sie können die Zielplattform der Assembly so festlegen, dass sie nur auf einer bestimmten Plattform kompiliert wird


Drittens: DLL erstellen

Standardmäßig werden in normalen Ordnern erstellte Skripte in Assembly-CSharp.dll gepackt, und in Editor-Ordnern erstellte Skripte werden in Assembly-CSharp-Editor.dll gepackt. Sie können Assemblys auch selbst erstellen
und Assemblys in einem bestimmten Verzeichnis erstellen. Skripte im selben Ordner oder Unterordner wird in diese DLL gepackt. Beachten Sie, dass es nur ein DLL-
Assembly-Dateiverzeichnis im selben Verzeichnis geben kann : Library – ScriptAssemblies

– Name: Zu welcher Assembly ein Skript gehört, kann nur über diese Parametersteuerung bestimmt werden , das Ändern des Namens der Assembly-Datei hat keine Auswirkung
– „unsicheren“ Code zulassen: Wenn das Schlüsselwort Unsafe in der Assembly verwendet wird, müssen Sie diese Option aktivieren, andernfalls wird ein Fehler gemeldet
– Automatisch referenziert: Geben Sie an, ob alle vordefinierten Assemblys Referenzieren Sie diese Assembly
– Keine Engine-Referenzen: Wenn diese Eigenschaft aktiviert ist, fügt Unity beim Kompilieren der Assembly keine Referenzen auf UnityEditor oder UnityEngine hinzu. Geeignet für Assemblys, die universell in Projekten auf Unity oder anderen Plattformen verwendet werden können. Vordefinierte Makros hinzufügen ,
kompiliert Define Constrains:kann nach dem Lesen vordefinierter Makros leer bleiben
– Assembly-Definitionsreferenzen: Assembly-Referenzen


Viertens: Assembly-Referenz

Beispiel: Skript test1 befindet sich in Assembly A und Skript test2 befindet sich in Assembly B. Auf Test1 kann in test2 nicht zugegriffen werden, und Assembly A muss als Referenz zu Assembly B hinzugefügt werden.

Supongo que te gusta

Origin blog.csdn.net/LLLLL__/article/details/127939513
Recomendado
Clasificación