UWP MvvmCross引导类不工作
设置:UWP MvvmCross引导类不工作,mvvm,xamarin,nuget,mvvmcross,nuspec,Mvvm,Xamarin,Nuget,Mvvmcross,Nuspec,设置: MvvmCross插件Nuget: 具有包含mngr.ensureReplatFormatAdaptionLoaded()的典型PluginLoader.cs的可移植类库 具有包含Mvx.RegisterType()调用的UWP类库 打包并在UI项目中使用(下一步) MVVMUI项目: 有一个可移植类库和UWP UI项目 有一个Bootstrap.cs文件,具有典型的公共类TTSPluginBootstrap:mvxpluginbootstrap 有一个Setup.cs文件,带有
- MvvmCross插件Nuget:
- 具有包含
mngr.ensureReplatFormatAdaptionLoaded()的典型PluginLoader.cs的可移植类库
- 具有包含
调用的UWP类库Mvx.RegisterType()
- 打包并在UI项目中使用(下一步)
- 具有包含
- MVVMUI项目:
- 有一个可移植类库和UWP UI项目
- 有一个Bootstrap.cs文件,具有典型的
公共类TTSPluginBootstrap:mvxpluginbootstrap
- 有一个Setup.cs文件,带有典型的
返回CreateApp
Core.App()
- 在my UI proj中包含Bootstrap.cs文件会导致
在setup.Initialize()
App::OnLaunched期间崩溃
- 删除Bootstrap.cs允许运行UWP UI proj,但
调用会导致崩溃Mvx.Resolve()
- 我还尝试在nuget打包期间包含*.pri和*.rd.xml文件,但没有成功
- 删除Bootstrap.cs(或将生成类型设置为
)Content
- 覆盖
:Setup::LoadPlugins
- 或者手动强制使用
进行类型注册,但是这种方法无法达到目的Mvx.RegisterType
- 或者实例化
,并在其上调用MyPlugin.Uwp.Plugin
Load
- 或者手动强制使用
- 如果我能够实例化Plugin类并对其调用Load,那么引导反射如何/为什么找不到PluginLoader
- 我也尝试过AoT方式来声明我的引导类,那么还有什么可以尝试的呢
- 关于创建/使用UWP MvvmCross插件(例如,非phone/store/8.1)是否有很好的参考
- 步骤1:克隆MvvmCross repo,并将分支更新为我在项目中使用的版本
- 步骤2:删除NuGet引用,并替换MvvmCross克隆的带本地程序集引用
- 步骤3:在App.xaml.cs中调用
setup.Initialize()之前逐步执行代码
- 查找:在内部,MvvmCross使用反射获取
实例,然后查找PluginLoader
类(在特定于平台的插件代码中包含Setup
方法)。Load
- 此MvvmCross reflection具有命名约定要求
- 修复方法:在制作与UWP兼容的MvvmCross插件时,您的UWP类库项目必须以“WindowsUWP”(或“WindowsCommon”,如果可移植)结尾。
- 对我来说,这意味着将我的NuGet的
命名空间(和文件夹)更改为Plugin.TTS.Uwp
,然后重新打包和分发我的*.nupkgPlugin.TTS.WindowsUwp
- 对我来说,这意味着将我的NuGet的