首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 8和Ninject :反射方法无法在当前平台上使用

Windows 8和Ninject :反射方法无法在当前平台上使用
EN

Stack Overflow用户
提问于 2013-03-04 04:08:20
回答 1查看 561关注 0票数 3

我有一个windows 8应用程序解决方案,我使用的是MVVM。所以我有了viewModelLocator,这就完成了它的工作。

但是现在我也想让viewModelLocator做一些依赖注入(因为ninject实际上是一个定位器,而不是DI)

所以我去下载了.net Framework4.5的instance,并尝试从内核中获取一个类型的实例,如下所示:

代码语言:javascript
复制
DataSource = NinjectKernel.Get<IBudgetTrackerAppDataSource>();

其中DataSource是在整个应用程序中使用的类。问题是,当执行这行代码时,我得到以下错误:

代码语言:javascript
复制
The API 'System.Reflection.RuntimeMethodInfo.GetParentDefinition()' cannot be used on the current platform

因此,我认为Ninject和Windows8正在发生争执,所以问题是:我如何才能克服这个问题?( ninject的另一个版本?另一个依赖注入框架?...)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-04 17:52:32

要构建WinRT应用程序,您只能引用其他WinRT程序集,这就是为什么引用.NET 4.5版本的.NET不能正常工作的原因。看起来确实有一个WinRT版本的Ninject,但它还没有发布,源代码可以在GitHub上找到。

有许多支持WinRT的IoC框架。Caliburn.Micro和MVVM Light都有自己的容器和MetroIoC

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15190270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档