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
Для этого есть два возможных решения: