Создайте класс динамически, используя System.Reflection.Emit в UWP. в UWP AppDomain.CurrentDomain.DefineDynamicAssembly отсутствует. Пожалуйста, предложите любое решение.
Создайте класс динамически, используя System.Reflection.Emit в UWP.
Ответы (2)
Вам необходимо включить пакет Nuget для System.Reflection.Emit в свой проект. Они разбили части API на отдельные пакеты.
Затем вы можете использовать метод AssemblyBuilder.DefineDynamicAssembly
для создания сборки в памяти в проекте UWP.
Но это не будет работать с .NET Native Toolchain, а это означает, что вы, вероятно, не сможете отправить в магазин:
https://docs.microsoft.com/en-us/windows/uwp/packaging/packaging-uwp-apps
Из того, что я прочитал в Windows 10 API, и из того, что я пытался написать код самостоятельно, AppDomain вообще недоступен. Хотя API TypeBuilder и AssemblyBuilder показывают, что они поддерживаются в Windows 10, это кажется неверным. На самом деле его нет в UWP-версии System.Reflection и System.Reflection.Emit. Как и AppDomain.
Типы отражения, поддерживаемые Windows 10
ModuleBuilder
или AssemblyBuilder
для приложения UWP.
- person Mike Keskinov; 09.02.2017