2010-12-08 6 views
2

Je crois que je fais face à un enfer DLL.Méthode introuvable: 'System.IO.Stream Microsoft.TeamFoundation.VersionControl.Client.Item.DownloadFile()'

J'ai une référence à Microsoft.TeamFoundations.VersionControl.Client dans mon application et 'copy local' est défini sur true. L'application fonctionne comme prévu sur ma machine de développement.

Quand je déployer cette application, je reçois une exception lorsque vous essayez d'exécuter Microsoft.TeamFoundations.VersionControl.Client.DownloadFile()

Méthode non trouvée: « System.IO.Stream Microsoft.TeamFoundation.VersionControl. Client.Item.DownloadFile() '.

La version qui est déployée dans mon répertoire bin est la version 9.0.3. La méthode existe. J'ai remarqué qu'une version précédente de cette dll ne vit dans

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies 

Pourquoi mon application ne semble pas être à l'aide de l'ensemble que je fait référence dans ma solution et finit dans le bac? Comment puis-je forcer cela à se produire?

Merci!

Répondre

0

L'application a insisté sur le référencement de ces DLL à partir du GAC. J'ai fini par installer VS 2010 sur l'environnement de développement et référencer les DLL Microsoft.TeamFoundation du GAC. VS 2010 a installé la version 10 de Team Foundation dans le développement GAC.

0

Je ne suis pas sûr si c'est ça, quand j'essayais d'utiliser TFS 2008, j'ai dû cibler le processeur x86 au lieu de n'importe quel CPU dans les paramètres du projet. Sans faire cela, je trouvais bizarre quand mon application déployée sur les machines d'autres peuples.

En outre, je déploie un certain nombre de dll avec mon application, peut-être que vous avez manqué de déployer quelque chose dont VersionControl.Client.dll dépend, et il essaie d'utiliser une autre DLL dont la version est incorrecte. Je distribue les éléments suivants (ne sais pas s'ils sont tous nécessaires, mais vous pouvez essayer de distribuer plus pour voir si cela a résolu le problème):

Microsoft.Build.Framework.dll Microsoft.TeamFoundation.Build.Client.dll Microsoft.TeamFoundation.Client.dll Microsoft.TeamFoundation.Collaboration.dll Microsoft.TeamFoundation.Common.dll Microsoft.TeamFoundation.Common.Library.dll Microsoft.TeamFoundation.dll Microsoft.TeamFoundation.VersionControl.Client.dll Microsoft.TeamFoundation.VersionControl.Common.dll Microsoft.TeamFoundation.VersionControl.Controls.dll Microsoft.TeamFounda tion.WorkItemTracking.Controls.dll Microsoft.VisualStudio.TeamFoundation.Client.dll Microsoft.VisualStudio.TeamFoundation.dll Microsoft.VisualStudio.TeamFoundation.WorkItemTracking.dll

+0

J'ai défini la plate-forme cible sur chaque projet dans ma solution pour x86 et copié toutes les DLL Microsoft.TeamFoundations dans le répertoire bin. Pourquoi ne puis-je pas simplement utiliser la DLL que j'ai explicitement référencée dans mon projet? Très boiteux. – Nick

+0

Est-ce que cela a changé quelque chose? Ça a marché?Je suis sûr que vous pouvez utiliser la DLL que vous avez référencé dans votre projet, je crains de ne pas savoir pourquoi vous avez l'exception que vous voyez. –

Questions connexes