2010-05-04 2 views
9

В настоящее время мы принимаем VS2010 для testdrive, и до сих пор мы немного недовольны тем, как он просто не будет сотрудничать с нашим существующим Team Foundation Server 2008. У нас все еще есть все наши проекты на .NET 3.5, и всякий раз, когда мы создаем решение, содержащее единый тестовый проект (который автоматически создается в .NET 4.0), TFS не будет его строить.Visual Studio 2010 и TFS 2008: Проекты тестирования здания:

Каркас .NET 4.0 установлен на TFS 2008.

Ошибка Мы получаем это:

[Any CPU/Release] c:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(0,0): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

В качестве временного решения мы теперь вынуждены удалить все наши испытания проектов для наших решений.

+0

Была установка VS2010 единственное решение, в конце концов? – CraftyFella

+0

Я разместил этот вопрос в надежде найти другие решения, но, как вы можете видеть ... там, похоже, нет. По крайней мере, мы его не нашли. Мы обнаружили, что VS2008 также устанавливается на сервер buildserver, теперь мы знаем, почему:) – Peter

ответ

3

Вам необходимо установить VS2010 на вашу машину сборки.

+2

Разве это не смешно? Наш сервер сборки не предназначен для разработки ... Разве они не могут просто обернуть все необходимые DLL в «серверный пакет» или что-то еще ... Это действительно работает, и его дополнительная лицензия VS2010, которую они могут взимать Я полагаю. – Peter

+0

Я согласен, что это смешно, но не уверен в зарядке. –

+0

Я думаю, VS2010 Express сделал бы это, я был неправ за зарядку. – Peter

3

I'v просто пытается строить v4.0 решения на TFS2008 и изменили C: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ PrivateAssemblies \ tfsbuildservice.exe.config файл:

<add key="MSBuildPath" value="" /> 

в

<add key="MSBuildPath" value="c:\Windows\Microsoft.NET\Framework\v4.0.30319\" /> 

телосложения V3.5 и v4.0 решений добились успеха. Но unittest из решений v3.5 не сработал.

Читайте об установке VS2010 на сервере сборки, но читайте где-нибудь еще: (http://www.richard-banks.org/2009/11/how-to-build-vs2010-solutions-using.html), что это возможно без установки VS2010.

: Текст с этого сайта:


Это работал для нас позволяя строить агент TFS 2008 компиляции VS 2010 файлов решение/проект без установки VS 2010:

  1. Установка .NET Framework 4.0 и .NET Framework 3.51 SP1 (по какой-то причине SP1 не был включен с 4.0?)
  2. Установите Windows SDK 7.0A. Когда я пишу это, SDK все еще не выпущен, поэтому нам пришлось: С установленного компьютера с VS 2010 скопируйте папку SDK из% programfiles% \ Microsoft SDK \ Windows \ v7.0A и параметров реестра из HKLM \ SOFTWARE \ Microsoft \ Microsoft SDK \ Windows \ 7.0A на машину сборки.
  3. Скопируйте% programfiles% \ MSBuild \ Microsoft \ VisualStudio \ v10.0 на машину построения
  4. Изменить ToolsVersion от 3.5 до 4.0 в файле TFSbuild.proj.

думаю есть. Не нужно было изменять файл конфигурации агента сборки.


Надеюсь, это сработает.

+0

Очень интересно! Тем временем мы обновили Team Foundation Server до 2010 года, поэтому я не могу протестировать ваше решение, но спасибо за публикацию! – Peter