作为 Nuget 包使用的 MVVMCross 核心 (PCL) 项目
MVVMCross core (PCL) projects consumed as Nuget package
我自己没有尝试过,但想看看是否有人已经探索过这种情况?
MVVMCross 是否能够 detect/link View-ViewModels 等并像以下情况一样工作:
我在解决方案 A 中有一个 X.Droid 和 X.iOS 项目以及一个共享核心 PCL 项目。
我想在 additional/separate 核心 (PCL) 项目中编写 ViewModel 类,添加到解决方案 B 中,将 nuget 包作为输出,然后在 Droid 中编写 consume/reference/add 包和 iOS 个项目。
您可以覆盖 Setup.cs
class 以在 MvvmCross 应查找 ViewModel 的位置提供更多程序集。
因此,如果您在程序集 A 中编写大部分应用程序,但在程序集 B 中有一些共享的 ViewModel,可能还有一些在程序集 C 中,您可以这样做:
protected override IEnumerable<Assembly> GetViewModelAssemblies()
{
var vmAssemblies = new List<Assembly>(base.GetViewModelAssemblies())
{
typeof(ViewModelInAssemblyB).Assembly,
typeof(ViewModelInAssemblyC).Assembly
};
return vmAssemblies;
}
我自己没有尝试过,但想看看是否有人已经探索过这种情况?
MVVMCross 是否能够 detect/link View-ViewModels 等并像以下情况一样工作:
我在解决方案 A 中有一个 X.Droid 和 X.iOS 项目以及一个共享核心 PCL 项目。 我想在 additional/separate 核心 (PCL) 项目中编写 ViewModel 类,添加到解决方案 B 中,将 nuget 包作为输出,然后在 Droid 中编写 consume/reference/add 包和 iOS 个项目。
您可以覆盖 Setup.cs
class 以在 MvvmCross 应查找 ViewModel 的位置提供更多程序集。
因此,如果您在程序集 A 中编写大部分应用程序,但在程序集 B 中有一些共享的 ViewModel,可能还有一些在程序集 C 中,您可以这样做:
protected override IEnumerable<Assembly> GetViewModelAssemblies()
{
var vmAssemblies = new List<Assembly>(base.GetViewModelAssemblies())
{
typeof(ViewModelInAssemblyB).Assembly,
typeof(ViewModelInAssemblyC).Assembly
};
return vmAssemblies;
}