2015-07-09 2 views
2

У нас есть проект trageting .net framework 4.0, и мы используем postharp. все работает отлично на моей локальной машине, но на нашем Teamcity сервере мы получаем следующую ошибкуПроблемы с записью на teamcity

00:44][MSBuild output] "C:\TeamCity\buildAgent\work\a26b6bf43590f451\Main\myproj.csproj" (default target) (4:2) -> 
[16:00:44][MSBuild output] (PostSharp30 target) -> 
[16:00:44][MSBuild output] unknown : error PS0219: The targeting pack for target platform ".NETFramework,Version=v4.0" is either not installed or not properly registered. Please install the appropriate targeting pack. [C:\TeamCity\buildAgent\work\a26b6bf43590f451\Main\myproj.csproj] 
[16:00:44][MSBuild output] 
[16:00:44][MSBuild output]  2 Warning(s) 
[16:00:44][MSBuild output]  1 Error(s) 
[16:00:44][MSBuild output] 
[16:00:44][MSBuild output] Time Elapsed 00:00:30.78 
+0

Просто догадки: если вы только что установили .NET framework 4.0 на сервере сборки, перезапустите сервер и попробуйте запустить ручную сборку, иначе установите .NET framework 4.0 SDK на сервер. –

ответ

1

Это на самом деле не ошибка PostSharp — вашего агента сборки, вероятно, просто не имеет правильную версию Visual Studio УСТАНОВЛЕНО , Вы можете установить VS или вручную установить appropriate targeting pack на свои агенты сборки. (Эта ссылка для VS2013. См. Другие ссылки на этой странице, если вы используете другие версии VS.)

Это может помочь узнать, что «таргетинг-пакеты» в этом контексте также называются «.NET SDKs» «.

+1

Я хотел бы добавить, что ошибка на самом деле производится PostSharp, что также означает, что основной этап компиляции успешно завершен. Возможно, на сервере есть только .NET 4.5 SDK, и компилятор C# был в порядке, хотя цель - .NET 4.0. – AlexD

+0

Спасибо, я установил все обновления, доступные как для .net 4.0, так и 4.0.3, но я все равно получаю ту же ошибку. –

+0

Это может быть проблема совместимости x86 с x86_x64. сервер работает с x86_x64, но на шаге неудачи пытаются выполнить C: \ ProgramData \ PostSharp \ 4.1.15 \ bin.Release \ postsharp.4.0-x86.exe. есть файл C: \ ProgramData \ PostSharp \ 4.1.15 \ bin.Release \ postsharp.4.0-x64.exe, доступный в той же папке. –

2

Ошибка, которую вы получаете, предполагает, что есть некоторая проблема с регистрацией .NET SDK на MSBuild. PostSharp использует вызовы MSBuild для определения установленных фреймворков и получения информации об этом. Вы можете проверить, что PostSharp «видит», просмотрев каталог C:\ProgramData\PostSharp\InstalledFrameworks и в последнем XML-файле.

Для решения этой проблемы установите Microsoft Build Tools 2013 на сервер сборки. Затем, настраивая шаг сборки в TeamCity, убедитесь, что вы выбрали Microsoft Build Tools 2013 и MSBuild 12.0. MSBuild из .NET 4.5 (Visual Studio 2012) также будет работать.

+0

Спасибо, но я не могу заставить его работать. я установил визуальную студию 2013 года, но получаю те же ошибки, когда открываю решение и пытаюсь его построить. –

+0

Не могли бы вы связаться с нами на нашем сайте поддержки и отправить содержимое каталога 'InstalledFrameworks' и журнала сборки? –