Ich schreibe einen Mod für ein Einheitsspiel. Dieser Mod ist eine einzelne CS-Datei. Ich plane, XML-Funktionen von System.Xml zu verwenden, aber es wird nicht im Spiel referenziert. Wie implementiere ich System.Xml in meiner .cs-Datei, ohne darauf Bezug zu nehmen?mit einer Klasse in der DLL definiert, ohne darauf Bezug zu nehmen C#
Antwort
Wenn Sie Ihre CS-Datei kompilieren müssen, bevor sie in die App geladen wird, müssen Sie sie selbst referenzieren und der Compiler wird die Referenz enthalten. Da System.Xml
eine Assembly ist, die sich im GAC befindet, wird sie ohne Probleme geladen, selbst wenn die App sie nicht verwendet.
Wenn Sie nur die Code-Datei in die App laden, könnte es funktionieren oder nicht. Je nachdem, wie die Unity-Anwendung Ihre CS-Datei lädt und wo und wie Sie die Assembly verwenden möchten, können Sie sich an den Ereignishandler AppDomain.AssemblyResolve
anhängen und die Assembly zur Laufzeit auflösen.
Wenn das schwierig scheint, könnten Sie sogar eine Codedatei erstellen, die eine Assembly zur Laufzeit erstellt und diese in die App lädt, nachdem Sie die System.Xml
Assembly aus dem Bootstrapper-Code geladen haben.
- 1. Wie zu einer Klasse in einem neuen Fenster JQuery mit Bezug zu nehmen
- 2. C++ Legacy-Treiber mongoDB Replicaset in der Klasse einer DLL
- 3. Verfügbarmachen der Methoden einer DLL in C#
- 4. Klasse ohne Angabe einer Basisklasse definiert?
- 5. C++ - Klasse in C++ DLL in C# Windows Forms Klasse
- 6. Verwenden einer C# -DLL in Java ohne 3rd-Party-Bibliotheken
- 7. C: Nehmen Teile aus einer Zeichenfolge ohne Trennzeichen (mit strstr)
- 8. ohne Bezug zu ersetzen
- 9. Wie wird der Bezug zu einer anderen Klasse richtig hergestellt?
- 10. Aufruf einer Klassenmethode aus Formular ohne Bezug zur Klasse
- 11. C++ Klasse Kollision über dll
- 12. Call-Funktion in C++ DLL ohne Header
- 13. zu einer Klasse in einer Funktion Umfang
- 14. Verwenden Sie DLL in C ohne Lib
- 15. Dll in einer anderen Klasse hinzufügen? in der Konsolenanwendung?
- 16. mit libcurl ohne dll
- 17. In Bezug auf Scanner-Klasse
- 18. Mit Monaden kann verbunden werden definiert in Bezug auf binden?
- 19. Verwenden einer AppDomain zum Instanziieren einer Klasse in einer DLL
- 20. Dynamisch Importieren einer C++ - Klasse aus einer DLL
- 21. Verwenden einer DLL mit Header .h in C++
- 22. Wie eine Klasse in einer DLL ersetzen?
- 23. Importieren einer c-DLL-Funktion in C#
- 24. Kann ich innerhalb einer ASP.NET-Site eine Klasse schreiben, ohne eine DLL kompilieren zu müssen?
- 25. Verwenden einer DLL in Visual Studio C++
- 26. Aufrufen einer EXE mit Bezug auf die C# Windows-Anwendung
- 27. C++ Nicht definiert Bezug auf Halter :: Menüs (Struct)
- 28. Wie QTcore4.dll ohne Abhängigkeit zu MSVCx80.dll zu erstellen?
- 29. C++, mehrere Instanzen einer DLL, Singleton
- 30. Kann C++ Export Klasse von DLL
Vielen Dank für die Beantwortung. Ich lege einfach die Codedatei in den entsprechenden Ordner, damit es funktioniert, aber es löst leider keine Referenz auf. Ich werde AssemblyResolve versuchen und schauen, ob es hilft. –
Entschuldigung, ich bin neu mit der C#, also weiß ich nicht, wie ich das alles machen soll. Ich wäre sehr dankbar, wenn Sie mir Code für die Verwendung von Assembly zur Verfügung stellen könnten. Ich denke, ich könnte Datei von System.Xml.dll direkt mit Assembly.LoadFile laden, aber ich habe keine Ahnung, was ich mit dieser Baugruppe als nächstes tun soll. Könnten Sie bitte erklären, oder zeigen Sie den Code/Buch/Post, wo ich sehen kann, wie Klassen aus Assembly zu verwenden? –