воскресенье, 27 апреля 2014 г.

Про не очевидные ошибки в Team Foundation Server

В Team Foundation Server иногда возникают ошибки, причину которых понять не так и просто. Расскажу вам про две из них возникающие при настройке автоматических сборок, и понять как с бороться с которыми обычно не так просто.

Первая ошибка появляется всегда, если не сервере, где установлен TFS не установлена Visual Studio. Текст ошибки примерно такой:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (983): The reference assemblies for framework ".NETFramework,Version=v4.5" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend.

И не смотря на то, что вначале кажется, что почему-то не установился .Net Framework, дело совсем не этом. Просто скопируйте с машины на которой установлена Visual Studio папки с библиотеками, относящимися к определенной версии .Net. Например, для .Net 4.5 это:

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5

Со второй ошибкой вы можете столкнуться, если ваш проект ссылается на какие-то нестандартные библиотеки. Текст ошибки примерно такой:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1360): Could not resolve this reference. Could not locate the assembly "Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

Лечится ошибка просто - нужно в конфигурации MSBuild для того билда на котором происходит эта ошибка добавить ссылку на директорию с дополнительными библиотеками. Делается это добавлением вот такого ключа:

/p:ReferencePath="C:\MyDLLs\"

 И сложить библиотеки в эту папку.

Комментариев нет:

Отправить комментарий