TeamCity - 未满足的要求(DotNetFramework4.0_x86)

时间:2016-08-01 09:18:23

标签: .net teamcity

我将我的TeamCity更新为最新版本。 (10.0 build 42002)

从那时起,构建代理无法构建我的任何项目。

代理人告诉我以下内容:

Unmet requirements: DotNetFramework4.0_x86 exists 

要解决此问题,我已经完成了此stackoverflow问题中的建议: TeamCity Agent Missing DotNetFramework4.0_x86, but not?

可悲的是它不起作用。所以我查看了日志文件,但没有发现任何奇怪的东西。 然后我查看了代理配置参数。我发现了这个:

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 Framework已映射到 DotNetFramework4.6 。对我来说这似乎是个问题。

有人知道我可以做些什么来解决这个问题吗?

3 个答案:

答案 0 :(得分:22)

我使用了Greg B找到here解决问题的工作。

要使代理程序重新运行,您需要在代理程序的配置中插入以下行。 (例如,位于此处: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
  1. 我在Windows服务中停止了代理
  2. 我在buildAgent.properties
  3. 中粘贴了参数
  4. 我在Windows服务中启动了代理
  5. 据我所知,JetBrains修复了TeamCity中的一个错误,因此不再能找到.NET框架。

    引自Evgeniy Koshkin

      

    ...如果您的工具将.net 4.0定位为其所需的运行时间   实际应该避免在您的构建代理上安装.net 4.5(6)。在   在这种情况下,TeamCity将报告.net 4.0运行时可用。但   我不认为安装.net版本的这种限制是有意义的   大多数情况。在此错误得到修复之前,TeamCity报告了这一事实   '.net 4.0以前是这个代理的运行时'因为'.net 4.0是一个   此代理上的运行时'。在我看来,这是一种错误行为。

答案 1 :(得分:7)

好的,看起来这是xUnit test runner插件的错误。关于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

答案 2 :(得分:1)

.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

有两种可能的解决方案: