2009-09-09 7 views
3

Je construis une application Silverlight avec Prism, et nous aimerions utiliser NInject. J'ai téléchargé ninject-contrib pour utiliser leur bootstrappeur NInject, mais il ne semble pas construire un assembly Silverlight. Je l'ai compilé moi-même à Silverlight, mais il bloque Visual Studio.Est-ce que ninject-contrib prend en charge Silverlight?

Est-ce que quelqu'un a déjà porté un ninject-contrib à Silverlight avec succès?

+0

Crashes Visual Studio? Que faire si vous essayez de le construire à partir de la ligne de commande, w/msbuild - les erreurs peuvent être utiles pour le dépister –

+0

Le code source n'a pas généré de bibliothèque Silverlight, donc j'ai ajouté un nouveau projet de bibliothèque Silverlight à la solution, puis l'a eu pour compiler. Dans la solution de mon propre projet, j'ai ajouté une référence à l'assembly compilé et créé un bootstrapper personnalisé héritant du bootstrappeur NInject. Lorsque j'ai débogué ma solution, Visual Studio s'est écrasé. Je pense qu'il me manque quelque chose, et peut-être que la solution de ninject-contrib peut déjà construire une assemblée qui a été testée et qui fonctionne contre Silverlight? – pnschofield

+0

Btw, j'ai téléchargé la source ninject-contrib de http://ninject-contrib.googlecode.com/svn/trunk. – pnschofield

Répondre

1

Vous ne devriez pas avoir à utiliser ninject-contrib. Il y a un téléchargement disponible pour Silverlight. Vous pouvez le trouver here. Faites-moi savoir si ce n'est pas ce que vous cherchez, mais si vous voulez simplement utiliser Ninject pour l'injection de dépendance dans une application Silverlight, cela devrait être tout ce dont vous avez besoin.

+1

En repensant à ma question initiale, j'ai fait un mauvais travail en spécifiant ce que je cherchais. Les applications Prism, qu'elles soient conçues pour WPF ou Silverlight, contiennent généralement une classe qui amorce l'application à l'aide du conteneur IoC spécifique. Ninject-contrib contient un bootstrappeur Prism qui utilise NInject. J'essayais d'utiliser ce programme d'amorçage, mais j'ai trouvé que la solution Visual Studio ne contenait pas de fichier projetant Silverlight ... – pnschofield

+1

Ce que j'ai fini par faire était d'importer le code source dans un projet de bibliothèque de classes Silverlight et de faire quelques petites changements pour l'obtenir pour compiler. Ensuite, j'ai écrit quelques tests unitaires en utilisant une version de NUnit 2.5.1 portée sur Silverlight 3: http://wesmcclure.tumblr.com/post/152727000 Lorsque j'ai utilisé TestDriven.NET pour exécuter des tests unitaires qui exerçaient le bootstrapper, Visual Studio 2008 s'est écrasé. – pnschofield

+1

Étant donné que l'utilisation de cette combinaison d'outils (y compris mon propre "port" de ninject-contrib à SL3) a été un très grand hack, j'aurais probablement dû envisager une autre solution avant de poster sur StackOverflow. Ce que j'ai fini par faire est d'arrêter complètement d'utiliser le bootstrapper dans les tests unitaires, ce qui est probablement une bonne idée de toute façon, car vous ne voulez probablement pas que vos tests unitaires soient couplés à l'amorçage de votre application. – pnschofield