ArgumentException при использовании TeamFoundation Builds
Я использую Visual Studio онлайн для управления своими источниками. Я также использую Continous Integrations, что означает, что мой источник скомпилирован в облаке на TFS(Visual Studio Online). У меня есть собственный шаблон процесса сборки, а также несколько действий с кодом. С тех пор все отлично работает. После того, как я отредактировал действия и шаблон, каждый раз, когда я запускаю сборку, я получаю следующую ошибку:
TF215097: An error occurred while initializing a build for build definition \BuildTest\BuildTasks:
Exception Message: Expression of type 'Microsoft.TeamFoundation.Build.Workflow.Activities.AgentReservationSpec' cannot be used for return type 'Microsoft.TeamFoundation.Build.Workflow.Activities.AgentReservationSpec' (type ArgumentException)
Exception Data Dictionary:
MS.TF.Diagnostics.Logged = True
Странным побочным эффектом является то, что порядок аргументов шаблона сборки в Visual Studio теперь смешан, и есть также некоторые аргументы, которые не определены в шаблоне. Это происходит не только для моего пользовательского шаблона, но и для шаблонов по умолчанию от Microsoft.
Кто-нибудь может мне помочь?
2 ответа
У меня была такая же проблема с нашим локальным экземпляром TFS. Я удалил все свои библиотеки DLL из папки CustomActivities в TFS, и ошибка исчезла. Теперь второй шаг - определить CustomAction, вызывающий проблему...
Причиной таких ошибок являются две версии сборки, обеспечивающие одновременное отображение ошибочного типа. Значение, назначаемое от, происходит от одного, а значение, назначаемое от другого.
Это случилось со мной, когда я случайно зарегистрировал загрузку сборок Microsoft. TeamFoundation в свое местоположение пользовательских действий в системе контроля версий. Удаление этих сборок заставило проблему исчезнуть для меня.
Стоит также обратить внимание, если на вашем контроллере сборки установлено несколько версий API TFS (для этого подходят несколько версий Visual Studio). Возможно, вам придется использовать явные версии (полный синтаксис строгого имени) в ссылках на сборки TFS в ваших проектах, чтобы убедиться, что загружена правильная версия API.