2013-02-19 2 views
4

UPDATE:здание WCF библиотека на CI Machine

Просто обновление, как мы наконец получили наше лицензирование фиксированной и установлен Visual Studio 2012 на нашем агенте построения. Как только мы закончили установку, все было построено отлично.

Спасибо всем за ваши ответы и помощь. Ответ, который я принял, перечислил этот вариант как четвертый, чтобы попробовать, и мы попробовали все остальное, и это все, что заставило его построить.

Помощь при попытке создать проект библиотеки WCF на моем Windows Server 2008 R2 сборки машины я получаю эту ошибку:

C:\BuildAgent\work\e8ce1d5b0f26c529\Configuration\ECUWeb\EcuWeb.ServiceLib\EcuWeb.ServiceLib.csproj(90, 3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\WCF\Microsoft.VisualStudio.ServiceModel.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. 

Project Configuration\ECUWeb\EcuWeb.ServiceLib\EcuWeb.ServiceLib.csproj failed.

Билд агент Visual Studio 2010 и .net4.5 установлен однако я использую VS2012 на своей машине. Есть ли SDK, который я могу установить, или мне нужно установить VS2012? Также это задача teamcity, которая просто запускает MSBuild в файле решения.

+0

Вы проверили ли следующий файл, как указано в ошибках существующий в вашем агенте построения ?C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ WCF \ Microsoft.VisualStudio.ServiceModel.targets – RinoTom

+0

Да, я проверил и папка WCF даже не существует. – twreid

+0

Я нашел аналогичный вопрос в самой SO. [Ошибка компиляции WCF на сервере CI: Microsoft.VisualStudio.ServiceModel.targets не найден] (http://stackoverflow.com/questions/14640045/wcf-compilation-error-on-ci-server-microsoft-visualstudio-servicemodel-targets). Но на это не отвечают. Было предложено установить Windows SDK для решения этой проблемы в этом сообщении. Это не решает проблему. Поэтому я надеюсь, что вам, возможно, потребуется установить Visual Studio 2012 самостоятельно, или мы будем ждать, если кто-нибудь сможет дать лучший ответ. – RinoTom

ответ

4

Когда среда CI не имеет «» первой необходимости, то я нашел несколько решений:

One: Установка SDK (как упоминалось выше).

Два: каждый раз, вы можете скопировать файл «.targets» вручную с компьютера с установленным на нем VS20xx. На самом деле это хороший сценарий, поскольку это простое решение.

Пример здесь: Microsoft.WebApplication.targets was not found, on the build server. What's your solution?

Три: Что-то "родственный" к SDK установки. Дополнительный пакет здесь или там. Вот пример:

Build error in tfsbuild with database project

Четыре: Каждый раз в то время, Microsoft винты вы. И ваш единственный регресс - установить полноценную Visual Studio. Который я ненавижу, потому что машине CI не нужно Visual Studio.

+0

Ну, я пробовал все, кроме установки VS2012, так что это моя следующая остановка. – twreid

+0

Итак, вы попытались скопировать «C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ WCF \ *. * «от машины с VS, установленной на машину сборки? – granadaCoder

+0

Да, и тогда она не смогла найти сборку System.ServiceModel.Core. – twreid

3

Одна вещь для проверки - определить, требуется ли эта ссылка.

У меня было решение 2012 года с файлом .csproj, в котором содержалась ссылка на Microsoft.VisualStudio.ServiceModel.targets. Я обновлялся с VS 2012 до VS 2013. У меня было две машины, которые я буду называть DESKTOP и LAPTOP. У DESKTOP был VS 2012, и я тоже установил VS 2013. Поэтому следующий файл существует, и я был в состоянии составить мое решение:

$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\WCF\Microsoft.VisualStudio.ServiceModel.targets 

на ноутбуке, у меня не было VS 2012. Я установил 2013 с нуля, и пытается получить мое решение (которое находится под TFS). Я получил указанную ошибку (VisualStudio.ServiceModel.targets не существует ... подтвердите правильность объявления).

Оказалось, что мне даже не нужен этот файл. В моем файле .csproj на DESKTOP я просто закомментировал элемент, и решение было скомпилировано успешно (в том числе с передачей модульных тестов). Поэтому я проверил это, чтобы TFS из СТОЛА, получил последний код на портативном компьютере, и он скомпилирован (и юнит-тесты прошли) там тоже:

<!-- Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\WCF\Microsoft.VisualStudio.ServiceModel.targets"/--> 
+0

Сладкий Я попробую. Благодарю. – twreid

Смежные вопросы