Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation MvvmCross具有两个核心库_Installation_Mvvmcross - Fatal编程技术网

Installation MvvmCross具有两个核心库

Installation MvvmCross具有两个核心库,installation,mvvmcross,Installation,Mvvmcross,是否可以将两个核心库链接到您的应用程序中? 我想创建一个具有登录和帐户视图模型的通用.Core库。 我想要另一个包含一些域视图模型的one Domain.Core库。 这些可用于几个不同的项目。 在我的应用程序中,我执行一个新的设置().Initialize()。 我的安装程序类重写CreateApp() 我试过这样做 CreatableTypes(Assembly.Load("Domain.Core")).EndingWith("Service").AsInterfaces().Registe

是否可以将两个核心库链接到您的应用程序中?
我想创建一个具有登录和帐户视图模型的通用.Core库。
我想要另一个包含一些域视图模型的one Domain.Core库。
这些可用于几个不同的项目。
在我的应用程序中,我执行一个新的设置().Initialize()。
我的安装程序类重写CreateApp()

我试过这样做

CreatableTypes(Assembly.Load("Domain.Core")).EndingWith("Service").AsInterfaces().RegisterAsLazySingleton();
但是,当我尝试从中解析域模型时,会遇到ReflectionTypeLoadException。
有人试过这样的吗


谢谢

是的,使用多个“核心”项目应该是可行的

发生在
Resolve
上的
ReflectionTypeLoadException
表明您的第二个程序集可能需要另一个不可用的程序集?对于一个非常简单的第二个核心项目,你会遇到同样的问题吗?你能得到关于这个异常的更多信息吗?这发生在哪个站台


如果要从多个程序集加载
ViewModel
类型,则可以替代一种设置方法-MvvmCross中的默认ViewModelLocator从设置中列出的程序集获取其ViewModel列表-请参阅

(很抱歉,此列表位于ui项目中-应该位于主核心项目中)


对于跨平台兼容性,我不建议使用
Assembly.Load
——最好使用更静态的方法,如
typeof(Domain.Core.Something).Assembly


在xamarin.android和(特别是)xamarin.ios等“打包应用程序”平台上工作时,我不建议使用
Assembly.Load
-这仅在静态引用程序集且已加载程序集的情况下在ios平台上工作-这就是插件在ios上具有特殊引导文件的原因。还要注意,Assembly.Load中使用的名称在不同的平台上是不同的-例如在Android中,您必须使用以.dll结尾的文件名-请参阅。对于像WP和winRT这样的其他平台,那么,
Assembly.Load
可能会更常规地工作——尽管我个人在去年花了数小时/天/周的时间在这类代码上发誓。

是的,使用多个“核心”项目应该可以工作

发生在
Resolve
上的
ReflectionTypeLoadException
表明您的第二个程序集可能需要另一个不可用的程序集?对于一个非常简单的第二个核心项目,你会遇到同样的问题吗?你能得到关于这个异常的更多信息吗?这发生在哪个站台


如果要从多个程序集加载
ViewModel
类型,则可以替代一种设置方法-MvvmCross中的默认ViewModelLocator从设置中列出的程序集获取其ViewModel列表-请参阅

(很抱歉,此列表位于ui项目中-应该位于主核心项目中)


对于跨平台兼容性,我不建议使用
Assembly.Load
——最好使用更静态的方法,如
typeof(Domain.Core.Something).Assembly


在xamarin.android和(特别是)xamarin.ios等“打包应用程序”平台上工作时,我不建议使用
Assembly.Load
-这仅在静态引用程序集且已加载程序集的情况下在ios平台上工作-这就是插件在ios上具有特殊引导文件的原因。还要注意,Assembly.Load中使用的名称在不同的平台上是不同的-例如在Android中,您必须使用以.dll结尾的文件名-请参阅。对于像WP和winRT这样的其他平台,那么,
Assembly.Load
可能会更常规地工作——尽管我个人在去年花了数小时/天/周的时间在这类代码上发誓。

我确实有一个缺少的Nuget包,所以我在这里通过了异常,这对我来说确实适用于两个库,谢谢!我必须做你在这里建议的覆盖,它正在工作。。。Setup.getViewModelAssemblys()非常好-希望您达到真正的天堂-跨应用程序重用视图和viewmodel库-理论上是可能的…:)我确实有一个丢失的Nuget包,所以我在这里通过了异常,这对我来说确实有两个库,谢谢!我必须做你在这里建议的覆盖,它正在工作。。。Setup.getViewModelAssemblys()非常好-希望您达到真正的天堂-跨应用程序重用视图和viewmodel库-理论上是可能的…:)
CreatableTypes(Assembly.Load("Domain.Core")).EndingWith("Service").AsInterfaces().RegisterAsLazySingleton();