我将我的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)
据我所知,JetBrains修复了TeamCity中的一个错误,因此不再能找到.NET框架.
引自Evgeniy Koshkin
...如果您的工具将.net 4.0作为其所需的运行时,您实际应该避免在构建代理上安装.net 4.5(6).在这种情况下,TeamCity将报告.net 4.0运行时可用.但我不认为安装的.net版本的这种限制在大多数情况下都会产生影响.在修复此错误之前,TeamCity报告".net 4.0以前是此代理上的运行时",因为".net 4.0是此代理上的运行时".在我的观点中,这是一种错误的行为.
好吧,看起来它是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