TeamCity - неудовлетворенные требования (DotNetFramework4.0_x86)

Я обновил свой TeamCity до самой новой версии. (10.0 build 42002)

С тех пор агент сборки не может создать ни один из моих проектов.

Агент сообщает мне следующее:

Unmet requirements: DotNetFramework4.0_x86 exists 

Чтобы решить эту проблему, я уже сделал то, что было предложено в этом вопросе stackoverflow: Агент TeamCity отсутствует DotNetFramework4.0_x86, но не?

К сожалению, это не сработает. Поэтому я просмотрел файлы журнала, но не нашел ничего странного. Затем я просмотрел параметры конфигурации агента. Я нашел это:

DotNetFramework4.6.01055_x64_Path    C:\Windows\Microsoft.NET\Framework64\v4.0.30319
DotNetFramework4.6.01055_x86_Path    C:\Windows\Microsoft.NET\Framework\v4.0.30319
DotNetFramework4.6_x64               4.6.01055
DotNetFramework4.6_x64_Path          C:\Windows\Microsoft.NET\Framework64\v4.0.30319
DotNetFramework4.6_x86               4.6.01055
DotNetFramework4.6_x86_Path          C:\Windows\Microsoft.NET\Framework\v4.0.30319

Как вы можете видеть, платформа .NET 4.0 сопоставлена ​​с DotNetFramework4.6. Для меня это, кажется, проблема.

Есть ли у кого-то идея, что я могу сделать, чтобы исправить это?

Ответ 1

Я использовал работу от Greg B, чтобы найти здесь, чтобы решить эту проблему.

Чтобы вернуть агент обратно, вам нужно вставить следующие строки в конфигурацию агента. (Например, здесь: C:\TeamCity\buildAgent\conf\buildAgent.properties)

DotNetFramework4.0_x86_Path=C\:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319
DotNetFramework4.0_x86=4.0.30319
DotNetFramework4.0_x64_Path=C\:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319
DotNetFramework4.0_x64=4.0.30319
  • Я остановил агента в службах windows.
  • Я вставил параметры в buildAgent.properties
  • Я начал агент в службах windows

Насколько я понимаю, JetBrains исправил ошибку в TeamCity, и из-за этого .NET Framework больше не будут найдены.

Цитата из Евгения Кошкина

... в случае, если ваш инструмент таргетинга .net 4.0 в качестве требуемого времени выполнения фактически следует избегать установки .net 4.5 (6) в ваших агентах сборки. в в этом случае TeamCity сообщит, что среда исполнения .net 4.0 доступна. Но Я не думаю, что это ограничение установленной версии .net делает в большинстве случаев. Прежде чем эта ошибка была исправлена, TeamCity сообщает об этом факте ".net 4.0 ранее был средой выполнения этого агента", поскольку ".net 4.0 - это runtime на этом агенте". Это баггическое поведение в моей точке зрения.

Ответ 2

Хорошо, похоже, что это была ошибка с плагином-тестировщиком xUnit. Об этом говорилось в трекете TC: https://youtrack.jetbrains.com/issue/TW-46352

Автор плагина уже исправил его, вам нужно перейти на v 1.1.2: https://github.com/carlpett/xUnit-TeamCity/releases/tag/1.1.2

Вы можете обновить, установив файл .zip в соответствии с: https://confluence.jetbrains.com/display/TCD10/Installing+Additional+Plugins

Ответ 3

В .NETFramework 4.0 и 4.6 используется тот же каталог

DotNetFramework4.0_x64   4.0.30319
DotNetFramework4.0_x64_Path  C:\Windows\Microsoft.NET\Framework64\v4.0.30319
DotNetFramework4.0_x86   4.0.30319
DotNetFramework4.0_x86_Path  C:\Windows\Microsoft.NET\Framework\v4.0.30319

DotNetFramework4.6_x64   4.6.01055
DotNetFramework4.6_x64_Path  C:\Windows\Microsoft.NET\Framework64\v4.0.30319
DotNetFramework4.6_x86   4.6.01055
DotNetFramework4.6_x86_Path  C:\Windows\Microsoft.NET\Framework\v4.0.30319

Для этого есть два возможных решения:

  • Установите .NETFramework 4.0 (https://www.microsoft.com/en-us/download/details.aspx?id=17851) В вашей системе могут быть установлены как .NET Framework 4.0, так и 4.6.

  • Исправьте требования к вашему агенту в конфигурации сборки.