2010-12-08 102 views
2

我相信我正在处理一些DLL地狱。未找到方法:'System.IO.Stream Microsoft.TeamFoundation.VersionControl.Client.Item.DownloadFile()'

我在应用程序中引用了Microsoft.TeamFoundations.VersionControl.Client,'copy local'设置为true。该应用程序按预期在我的开发机器上运行。

当我部署该应用程序试图执行Microsoft.TeamFoundations.VersionControl.Client.DownloadFile()时,未发现

方法我得到一个异常:“System.IO.Stream Microsoft.TeamFoundation.VersionControl。 Client.Item.DownloadFile()”。

部署到我的bin目录的版本是9.0.3版本。该方法存在。我注意到,这个DLL的先前版本确实住在

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

为什么我的应用程序不会出现使用我在我的解决方案内引用和斌最终组装?我如何强制这种情况发生?

谢谢!

回答

0

该应用程序坚持要从GAC引用这些dll。我最终在开发环境中安装了VS 2010,并引用了来自GAC的Microsoft.TeamFoundation dll。 VS 2010将Team Foundation dll的第10版安装到了开发GAC中。

0

我不确定是否这样,当我尝试使用TFS 2008时,我不得不在目标设置中使用任何CPU的x86处理器。如果不这样做,当我的应用程序部署到其他人机器上时,我发现很奇怪。

此外,我部署了一些DLL与我的应用程序,也许你错过了部署VersionControl.Client.dll依赖的东西,它试图使用另一个DLL,它得到了错误的版本。我分发以下(不知道都在需要的时候,但你可以尝试更多的分配,看看是否能解决它):

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

我将解决方案中的每个项目上的目标平台设置为x86,并将所有Microsoft.TeamFoundations dll复制到bin目录中。为什么我不能只使用我在项目中明确引用的dll?非常跛脚。 – Nick 2010-12-08 20:25:43

相关问题