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

Sha*_*iel 14 .net teamcity

我将我的TeamCity更新到最新版本.(10.0 build 42002)

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

代理人告诉我以下内容:

Unmet requirements: DotNetFramework4.0_x86 exists 
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我已经完成了这个stackoverflow问题中的建议: TeamCity Agent缺少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
Run Code Online (Sandbox Code Playgroud)

如您所见,.NET 4.0 Framework已映射到DotNetFramework4.6.对我来说,这似乎是个问题.

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

Sha*_*iel 23

我用从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
Run Code Online (Sandbox Code Playgroud)
  1. 我在Windows服务中停止了代理
  2. 我在buildAgent.properties中粘贴了参数
  3. 我在Windows服务中启动了代理

据我所知,JetBrains修复了TeamCity中的一个错误,因此不再能找到.NET框架.

引自Evgeniy Koshkin

...如果您的工具将.net 4.0作为其所需的运行时,您实际应该避免在构建代理上安装.net 4.5(6).在这种情况下,TeamCity将报告.net 4.0运行时可用.但我不认为安装的.net版本的这种限制在大多数情况下都会产生影响.在修复此错误之前,TeamCity报告".net 4.0以前是此代理上的运行时",因为".net 4.0是此代理上的运行时".在我的观点中,这是一种错误的行为.


bj0*_*bj0 7

好吧,看起来它是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