вторник, 15 мая 2012 г.

Ошибка TF400508 в TFS 11 Beta

После миграции коллекции из TFS 2010 на TFS 11 в проектах мигрированной коллекции в TWA (Team Web Access) отображалась следующая ошибка:
TF400508: The current process settings are either missing or not valid. These settings must be defined by a project administrator.


Эта проблема затрагивает только коллекции, мигрированные с предыдущих версий TFS. Во вновь созданных коллекциях на TFS 11 такой проблемы не наблюдается.
Связано это с различием в шаблонах в новой версии. Необходимо привести их в соответствие.

1. Необходимо скачать "Visual Studio 11 Beta Files to Update Team Project" (ссылка). Извлечь файлы архива в локальную папку на сервере TFS 11.
2. Запустить Developer Command Prompt. Для этого нажать Start > All Programm > Microsoft Visual Studio > Visual Studio Tools > Developer Command Prompt.
3. Измените локальную папку командой cd MyDirectory на ту, куда вы распаковали архив UpgradeProject.zip.
4. Запустите команду: 
updateProject CollectionURL ProjectName TemplateName

Например:
c:\UpdateProject> updateProject http://server-tfs:8080/tfs/TestCollection MyProject CMMi

Скрипт updateProject запустит 6 команд. Если все команды выполнены успешно, вы можете проверить результат на сайте 
http://server-tfs:8080/tfs/TestCollection/MyProject


Более подробно эта информация описана в статье "Updating an Upgraded Team Project to Access New Features" (ссылка).

См. также:
http://blogs.msdn.com/b/visualstudioalm/archive/2012/03/06/get-your-agile-project-fixed-after-an-upgrade-from-tfs2010-to-tfs11-beta.aspx

Видео: http://channel9.msdn.com/Blogs/VisualStudio/Upgrading-to-Team-Foundation-Server-11-Process-Templates

понедельник, 14 мая 2012 г.

Ошибка TF221122 при установке TFS 11 Beta


После установки TFS 11 я не мог перестроить куб отчётности TFS. В веб-сервисе администрирования куба (http://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx) при запуске GetProcessingStatus выводилась ошибка TF221122:

[Full Analysis Database Sync]: ---> Microsoft.TeamFoundation.Warehouse.WarehouseException: TF221122: An error occurred running job Full Analysis Database Sync for team project collection or Team Foundation server TEAM FOUNDATION. ---> Microsoft.TeamFoundation.Framework.Server.AnalysisServiceConnectionException: Error encountered when creating connection to Analysis Services. Contact your Team Foundation Server administrator. ---> Microsoft.AnalysisServices.XmlSerializationException: Deserialization failed: Requested value 'EnterpriseCore64' was not found. ---> System.ArgumentException: Requested value 'EnterpriseCore64' was not found. at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult) at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase) at Microsoft.AnalysisServices.DesignXmlReader.ReadPrimitive(Type type, XmlAttributes attributes) at Microsoft.AnalysisServices.DesignXmlReader.ReadStructContent(Object obj, StructMapping mapping) at Microsoft.AnalysisServices.DesignXmlReader.ReadObjectContent(Object value, Type type, TypeMapping mapping) at Microsoft.AnalysisServices.DesignXmlReader.ReadRoot(Type type) --- End of inner exception stack trace --- at Microsoft.AnalysisServices.DesignXmlReader.ReadRoot(Type type) at Microsoft.AnalysisServices.DesignXmlReader.DeserializeComponent(IDesignerSerializationManager manager, XmlReader reader, Type root) at Microsoft.AnalysisServices.AnalysisServicesClient.Discover(IMajorObject obj, ObjectExpansion expansion) at Microsoft.AnalysisServices.Server.Refresh(IMajorObject obj, ObjectExpansion expansion) at Microsoft.AnalysisServices.Server.Connect(String connectionString, String sessionId) at Microsoft.TeamFoundation.Warehouse.AnalysisServicesUtil.Connect(Server server, String serverName) --- End of inner exception stack trace --- at Microsoft.TeamFoundation.Warehouse.AnalysisServicesUtil.Connect(Server server, String serverName) at Microsoft.TeamFoundation.Warehouse.TFSOlapProcessComponent.GetLastProcessedTimeStamp(String serverName, String dbName) at Microsoft.TeamFoundation.Warehouse.TFSOlapProcessComponent.DetermineProcessType(TeamFoundationRequestContext requestContext, AnalysisDatabaseProcessingType desiredProcessingType, Boolean& lastProcessingFailed, Boolean& needCubeSchemaUpdate) at Microsoft.TeamFoundation.Warehouse.AnalysisDatabaseSyncJobExtension.RunInternal(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) at Microsoft.TeamFoundation.Warehouse.WarehouseJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) --- End of inner exception stack trace ---

Здесь нужно обратить внимание на сообщение - "Microsoft.AnalysisServices.XmlSerializationException: Deserialization failed: Requested value 'EnterpriseCore64' was not found."

Как оказалось, проблема была связано с тем, что в качестве сервера баз данных использовался SQL Server 2012. Решением проблемы является установка Cumulative update package 1 for SQL Server 2012 (ссылка).

Более подробно о причине данной проблемы: http://support.microsoft.com/kb/2683293