【问题标题】:Does ninject-contrib support Silverlight?ninject-contrib 是否支持 Silverlight?
【发布时间】:2010-11-26 22:01:51
【问题描述】:

我正在使用 Prism 构建 Silverlight 应用程序,我们希望使用 NInject。我已经下载了 ninject-contrib 以使用他们的 NInject 引导程序,但它似乎没有构建 Silverlight 程序集。我自己将它编译到 Silverlight,但它使 Visual Studio 崩溃。

有人已经成功地将 ninject-contrib 移植到 Silverlight 吗?

【问题讨论】:

  • Visual Studio 崩溃?如果您尝试仅从命令行(w/msbuild)构建它会怎样 - 错误可能有助于跟踪此问题
  • 源代码没有构建 Silverlight 库,所以我在解决方案中添加了一个新的 Silverlight 库项目,然后进行编译。在我自己的项目解决方案中,我添加了对已编译程序集的引用,并创建了一个继承自 NInject 引导程序的自定义引导程序。当我调试我的解决方案时,Visual Studio 崩溃了。我想我遗漏了一些东西,也许 ninject-contrib 解决方案已经可以构建一个经过测试并适用于 Silverlight 的程序集?
  • 顺便说一句,我从ninject-contrib.googlecode.com/svn/trunk下载了ninject-contrib源代码。
  • Miguel Midero 说 Silverlight 有一个项目,但我没有看到。 groups.google.com/group/ninject/browse_thread/thread/…
  • 啊,米格尔问他是否可以提交补丁。不知道有没有申请。

标签: silverlight prism ioc-container ninject


【解决方案1】:

您不应该使用 ninject-contrib。 Silverlight 可以下载。你可以找到它here。如果这不是您想要的,请告诉我,但如果您只是想在 Silverlight 应用程序中使用 Ninject 进行依赖注入,这应该是您所需要的。

【讨论】:

  • 回顾我最初的问题,我在指定我要查找的内容方面做得很差。 Prism 应用程序,无论是为 WPF 还是 Silverlight 构建的,通常都包含一个使用特定 IoC 容器引导应用程序的类。 Ninject-contrib 包含一个利用 NInject 的 Prism 引导程序。我试图使用这个引导程序,但我发现 Visual Studio 解决方案不包含针对 Silverlight 的项目文件...
  • 我最终所做的是将源代码导入 Silverlight 类库项目并进行一些小的更改以使其能够编译。接下来,我使用移植到 Silverlight 3 的 NUnit 2.5.1 版本编写了一些单元测试:wesmcclure.tumblr.com/post/152727000 当我使用 TestDriven.NET 运行执行引导程序的单元测试时,Visual Studio 2008 崩溃了。
  • 由于一起使用这种工具组合(包括我自己的 ninject-contrib 到 SL3 的未经测试的“端口”)是一个非常大的 hack,我可能应该在发布到 StackOverflow 之前考虑一个替代解决方案。我最终要做的是在单元测试中完全停止使用引导程序,无论如何这可能是一个好主意,因为您可能不希望单元测试与您的应用程序引导程序耦合。
猜你喜欢
  • 1970-01-01
  • 2014-04-27
  • 2010-09-28
  • 1970-01-01
  • 1970-01-01
  • 2015-12-23
  • 2011-06-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多