Была сделана попытка загрузить программу с неправильным форматом. Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader

Я пишу приложение, которое получает ошибки от TFS. Когда я запускаю эту программу на своей машине с установленной визуальной студией "Запуск Windows 8", она отлично работает. Когда я запускаю эту программу на одной из моих виртуальных машин Запуск 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. Любые идеи о том, что мне не хватает?

Ответ 1

В конечном итоге это проблема с GAC. Я просто сделал все мои ссылки, построенные с помощью dll, вместо того, чтобы предполагать, что они находятся в GAC

UPDATE:

Если вы посмотрите на свойства ссылки, есть свойство build. установить всю DLL проблемы для копирования при сборке.

Ответ 2

У меня была такая же проблема в веб-приложении ASP.NET. Я решил это, включив Enable 32-bit Applications для пула приложений IIS.

Ответ 3

Недавно я столкнулся с такой же проблемой с TFS 2010. Я понял, что это из-за целевой .Net Framework, которую использовала моя программа. Если вы используете 4.0, то при загрузке зависимостей DatastoreLoader он пытается загрузить некоторые некорректные сборки.

Моя проблема была решена автоматически, когда я использовал правильную целевую .Net Framework. Надеюсь, это поможет.