2010-07-01 9 views
0

Je reçois une erreur étrange lorsque j'essaie de compiler une solution qui utilise StructureMap dans Team Build.Team Build envoie une erreur lors de la tentative de compilation d'une méthode Structuremap

Lorsque je tente de compiler la solution localement sur Visual Studio, il fonctionne très bien, mais en essayant de faire la queue une nouvelle construction dans l'équipe Créer je reçois l'erreur suivante:

Overload resolution failed because no accessible 'Use' can be called with these arguments:

La ligne de code qui obtient ce l'erreur est la seconde:

ForSingletonOf(Of ISessionFactory)().Use(NHibernateSessionFactory.SessionFactory) 
Me.For(Of ISession)().lifecycleIs(New HybridLifecycle()).Use(Function(x) x.GetInstance(Of ISessionFactory)().OpenSession()) 

Il est un enregistrement standard pour la session NHibernate, donc je ne suis pas vraiment pourquoi cette erreur apparaît.

Merci d'avance pour les indices.

Répondre

0

Assurez-vous que vous disposez de la version correcte de NHibernate sur le serveur de génération et que vos chemins d'indication sont correctement définis dans votre fichier de projet. Nous n'avons pas eu ce problème spécifique (car nous n'utilisons pas NHibernate), mais nous avons eu des problèmes étranges comme celui-ci étant lié à des incompatibilités de versions de DLL "infrastructure" entre local et build.

+0

J'ai vérifié et j'ai définitivement la même version de la DLL. En fait, je mets toutes les DLL externes dans un dossier sur TFS lui-même, de sorte que toutes les machines sont toujours à jour avec les versions dll. – Gimly

+0

Pour les DLL qui ne sont pas GACced, assurez-vous que les chemins d'indication dans le CSPROJ sont des chemins relatifs. Nous avons eu des problèmes avec cela. Si ce n'est pas le problème, je suis probablement à la limite de mes suggestions (désolé). – Robaticus