2016-06-16 11 views
2

Erstellen Sie eine Klasse dynamisch mit System.Reflection.Emit in UWP. in UWP AppDomain.CurrentDomain.DefineDynamicAssembly fehlt. Bitte schlagen Sie eine Lösung vor.Erstellen Sie dynamisch eine Klasse mithilfe von System.Reflection.Emit in UWP

+0

Was Sie gehen Benutze die erstellte Klasse für? –

+0

Sowohl [AssemblyBuilder] (https://msdn.microsoft.com/en-us/library/system.reflection.emit.assemblybuilder.aspx) als auch [TypeBuilder] (https://msdn.microsoft.com/en -us/library/system.reflection.emit.typebuilder.aspx) sind seit Windows 10 für das UWP verfügbar. Mit welchem ​​Problem haben Sie speziell Probleme? – IInspectable

+0

AppDomain.CurrentDomain.DefineDynamicAssembly (assemblyName, AssemblyBuilderAccess.Run) gibt Fehler in uwp. Bitte schlagen Sie einen alternativen Ansatz vor, um AppDomain zu erhalten oder AssemblyBuilder in UWP zu initialisieren. –

Antwort

1

Von dem, was ich durch die Windows 10 API gelesen habe und von dem Versuch, dies selbst zu programmieren, ist AppDomain überhaupt nicht verfügbar. Obwohl das TypeBuilder- und das AssemblyBuilder-API zeigen, dass es in Windows 10 unterstützt wird, scheint das falsch zu sein. Es existiert nicht tatsächlich in der UWP-Version von System.Reflection und System.Reflection.Emit. Auch AppDomain nicht.

Windows 10 Supported Reflection Types

+0

Bestätigt. Ich kann auch 'ModuleBuilder' oder' AssemblyBuilder' für die UWP-App nicht finden. –

0

Sie benötigen die Nuget Paket für System.Reflection.Emit in Ihrem Projekt einzubeziehen. Sie haben Teile der API in separate Pakete aufgeteilt.

Dann können Sie die Methode AssemblyBuilder.DefineDynamicAssembly verwenden, um eine Baugruppe im Speicher eines UWP-Projekts zu erstellen.

Aber dies wird nicht mit dem .NET indiaToolChain arbeiten, die Sie wahrscheinlich bedeutet, nicht in der Lage sein, in den Laden schicken:

https://blogs.windows.com/buildingapps/2015/08/20/net-native-what-it-means-for-universal-windows-platform-uwp-developers/#8t4LmYa5JGBQXsRk.97

https://docs.microsoft.com/en-us/windows/uwp/packaging/packaging-uwp-apps