10

我正在编写一个从 TFS 获取错误的应用程序。当我在安装了运行 Windows 8 的 Visual Studio 的机器上运行该程序时,它运行良好。当我在运行 Server 2008 R2 和 Windows 7 并安装了 Visual Studio 代理的虚拟机上运行此程序时,它会引发以下异常

Error occured: Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. An attempt was made to load a program with an incorrect format.
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.InitializeInternal()
   at AutomationEntities.TFSManager.GetBugsFromTestCase(Int32 testCaseID)
   at AutomationEntities.ReportManager.GetBugStringFromTestCases(String testCaseString, String status)
   at AutomationEntities.ReportManager.InsertOrUpdateReport(String agentMachineName, String product, String versionName, String serverURL, String testCategory, String testName, String testNumber, String status, DateTime lastModifyTime, String errorMessage, Nullable`1 elapsedTime)
   at AutomationManager.XMLHandlerReport.AddItemToReportDatabase(String agentMachineName, String product, String version, String serverURL, String testCategory, String testName, TEST_STATUS testStatus, String errorMessage, String testNumber, String elapsedTime)
   at AutomationManager.ReportManager.ReportIndividualTestItem(TestData pendingTest, String testName, TEST_STATUS testStatus, String errorMessage, String resultsFileWPath)
   at AutomationManager.Program.Main(String[] args)

我所有的机器都运行 64 位 Windows

我不知道。列出的 Dll 与应用程序位于同一文件夹中,并且是版本 11。关于我缺少什么的任何想法?

4

3 回答 3

21

我在 ASP.NET Web 应用程序中遇到了同样的问题。我通过启用Enable 32-bit ApplicationsIIS 应用程序池解决了这个问题。

于 2014-05-21T14:08:06.423 回答
1

它最终成为 GAC 的一个问题。我只是用 dll 构建了所有引用,而不是假设它们在 GAC 中

更新:

如果您查看引用的属性,则会有一个构建属性。将所有问题 DLL 设置为在构建时复制。

于 2014-01-23T20:30:13.677 回答
0

我最近在使用 TFS 2010 时遇到了同样的问题。我发现这是因为我的程序正在使用目标 .Net Framework。如果您使用 4.0,那么在加载 DatastoreLoader 的依赖项时,它会尝试加载一些不正确的程序集。

当我使用正确的目标 .Net Framework 时,我的问题自动解决了。希望这可以帮助。

于 2013-10-28T12:35:31.093 回答