Dot-Net

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

  • May 8, 2017

我最近將我的 TeamCity 更新到了最新版本。(10.0 版本 42002)

從那以後,建構代理無法建構我的任何項目。

代理告訴我以下內容:

Unmet requirements: DotNetFramework4.0_x86 exists 

為了解決這個問題,我已經做了這個stackoverflow問題中的建議: TeamCity Agent Missing 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 Framework 映射到DotNetFramework4.6。對我來說,這似乎是個問題。

有人知道我能做些什麼來解決這個問題嗎?

我使用從 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
  1. 我在 Windows 服務中停止了代理
  2. 我將參數粘貼在 buildAgent.properties
  3. 我在 windows 服務中啟動了代理

據我了解,JetBrains 修復了 TeamCity 中的一個錯誤,因此將不再找到 .NET Frameworks。

Evgeniy Koshkin 的名言

…如果您的工具將 .net 4.0 作為其所需的執行時,您實際上應該避免在建構代理上安裝 .net 4.5(6)。在這種情況下,TeamCity 將報告 .net 4.0 執行時可用。但我認為在大多數情況下,安裝的 .net 版本的這種限制是沒有意義的。在修復此錯誤之前,TeamCity 報告“.net 4.0 以前是此代理上的執行時”這一事實,因為“.net 4.0 是此代理上的執行時”。在我看來,這是一種錯誤的行為。

引用自:https://stackoverflow.com/questions/38695121