2016-03-03 1 views
2

Мы перенесли с TFS 2012 на TFS 2015, после того как миграция наших сборок не работает. Мы получаем ошибку ниже. Я не мог найти много в Интернете по этому поводу. Пожалуйста, помогите.TFS 2015 Создает ошибку при переходе с 2012 года

TF215097: An error occurred while initializing a build for build definition \Cockpit\DB.Dev.MetadataDB.Build: 
Exception Message: Could not load file or assembly 'Microsoft.TeamFoundation, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. (type FileNotFoundException) 
Exception Stack Trace: at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) 
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) 
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) 
at System.Reflection.RuntimeAssembly.LoadWithPartialNameInternal(AssemblyName an, Evidence securityEvidence, StackCrawlMark& stackMark) 
at System.Reflection.Assembly.LoadWithPartialName(String partialName) 
at System.Activities.Expressions.AssemblyReference.LoadAssembly(AssemblyName assemblyName) 
at System.Activities.Expressions.AssemblyReference.GetAssembly(AssemblyName assemblyName) 
at Microsoft.VisualBasic.Activities.VisualBasicHelper.Initialize(HashSet`1 refAssemNames, HashSet`1 namespaceImportsNames) 
at Microsoft.VisualBasic.Activities.VisualBasicHelper.Compile[T](String expressionText, CodeActivityPublicEnvironmentAccessor publicAccessor, Boolean isLocationExpression) 
at Microsoft.VisualBasic.Activities.VisualBasicValue`1.CacheMetadata(CodeActivityMetadata metadata) 
at System.Activities.CodeActivity`1.OnInternalCacheMetadataExceptResult(Boolean createEmptyBindings) 
at System.Activities.Activity`1.OnInternalCacheMetadata(Boolean createEmptyBindings) 
at System.Activities.Activity.InternalCacheMetadata(Boolean createEmptyBindings, IList`1& validationErrors) 
at System.Activities.ActivityUtilities.ProcessActivity(ChildActivity childActivity, ChildActivity& nextActivity, Stack`1& activitiesRemaining, ActivityCallStack parentChain, IList`1& validationErrors, ProcessActivityTreeOptions options, ProcessActivityCallback callback) 
at System.Activities.ActivityUtilities.ProcessActivityTreeCore(ChildActivity currentActivity, ActivityCallStack parentChain, ProcessActivityTreeOptions options, ProcessActivityCallback callback, IList`1& validationErrors) 
at System.Activities.ActivityUtilities.CacheRootMetadata(Activity activity, LocationReferenceEnvironment hostEnvironment, ProcessActivityTreeOptions options, ProcessActivityCallback callback, IList`1& validationErrors) 
at System.Activities.Validation.ActivityValidationServices.InternalActivityValidationServices.InternalValidate() 
at Microsoft.TeamFoundation.Build.Workflow.WorkflowHelpers.ValidateWorkflow(Activity activity, ValidationSettings validationSettings) 
at Microsoft.TeamFoundation.Build.Hosting.BuildProcessCache.LoadFromXaml(String workflowXaml, TextExpressionImports textExpressionImports) 
at Microsoft.TeamFoundation.Build.Hosting.BuildControllerWorkflowManager.PrepareRequestForBuild(WorkflowManagerActivity activity, IBuildDetail build, WorkflowRequest request, IDictionary`2 dataContext) 
at Microsoft.TeamFoundation.Build.Hosting.BuildWorkflowManager.TryStartWorkflow(WorkflowRequest request, WorkflowManagerActivity activity, BuildWorkflowInstance& workflowInstance, Exception& error, Boolean& syncLockTaken) 
Inner Exception Details: 
Exception Message: Could not load file or assembly 'Microsoft.TeamFoundation, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. (type FileNotFoundException) 
Exception Stack Trace: 

ответ

1

Проверьте настроенный файл XAML и убедитесь, что любая ссылка на Version=11.0.0, PublicKeyToken=123445 удаляется. Просто укажите Ассамблею по простому имени. Это позволяет Team Build загружать версию, соответствующую версии сервера сборки.

Если вам повезло, старые настройки совместимы с бинарными данными, но в худшем случае вам потребуется перекомпилировать их по сравнению с текущей версией объектной модели объекта TFS.

Смотрите также:

1

TFS 2015 выпустил неправильный связывающий редирект в конфигурации службы сборки; TFSBuildServiceHost.exe.config.

<dependentAssembly> 
    <assemblyIdentity name="Microsoft.TeamFoundation" 
        publicKeyToken="b03f5f7f11d50a3a" 
        culture="neutral"/> 
    <bindingRedirect oldVersion="10.0.0.0-12.9.0.0" newVersion="14.0.0.0"/> 
</dependentAssembly> 

Microsoft.TeamFoundation, Version=14.0.0.0.

Microsoft.TeamFoundation.dll только существовал до TFS 2012, после чего пространства имен в этой DLL были объединены в Microsoft.TeamFoundation.Common.dll.

У меня есть Connect Bug с Microsoft. Вы можете либо обновить ссылки Microsoft.TeamFoundation в своем шаблоне до Microsoft.TeamFoundation.Common, либо удалить или изменить перенаправление на следующее.

<dependentAssembly> 
    <assemblyIdentity name="Microsoft.TeamFoundation" 
        publicKeyToken="b03f5f7f11d50a3a" 
        culture="neutral"/> 
    <bindingRedirect oldVersion="10.0.0.0" newVersion="11.0.0.0"/> 
</dependentAssembly> 

Оговорка здесь является то, что ваш работает в строительных услугах TFS 2015 на ту же инфраструктуру вы запускали TFS 2012 (или, по крайней мере, имеет ту же зависимость установлена), то Microsoft.TeamFoundation.dll был распространен с Визуальным Студия 2012 и раньше.