我相信我正在处理一些DLL地狱。
我在我的应用程序中引用了Microsoft.TeamFoundations.VersionControl.Client,并且“本地复制”设置为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
为什么我的应用程序似乎没有使用我在解决方案中引用的程序集并最终出现在bin中?我该如何强迫这种情况发生?
谢谢!
最佳答案
我不确定是否是这样,当我尝试使用TFS 2008时,我不得不将x86处理器而不是项目设置中的Any CPU作为目标。没有这样做,当我的应用程序部署到其他人的机器上时,我感到很困惑。
另外,我在我的应用程序中部署了许多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.TeamFoundation.WorkItemTracking.Controls.dll
Microsoft.VisualStudio.TeamFoundation.Client.dll
Microsoft.VisualStudio.TeamFoundation.dll
Microsoft.VisualStudio.TeamFoundation.WorkItemTracking.dll