gpt4 book ai didi

linux - 在 Linux (mono) 上运行的 TeamCity NUnitLauncher 出现 "Corlib not in sync with this runtime"错误

转载 作者:IT王子 更新时间:2023-10-29 00:53:05 24 4
gpt4 key购买 nike

运行 TeamCity 构建代理以使用最新构建的 monoUbuntu 14.04 LTC 上运行 NUnit 测试似乎有一些我一生都无法解决的依赖性问题。我遵循了以下安装步骤

当 TC Build Agent 启动 NUnit 步骤时,它只是失败了,查看日志显示它执行了

/usr/bin/mono-sgen /home/ubuntu/buildAgent/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe

立即返回

Corlib not in sync with this runtime: expected corlib version 117, found 111.
Loaded from: /usr/lib/mono/4.0/mscorlib.dll
Download a newer corlib or a newer runtime at http://www.mono-project.com/download.

有什么方法可以让它发挥作用吗?我尝试删除所有部分并重新安装,甚至安装旧版本的单声道构建但无济于事。

TC 连接似乎可以正常工作,我可以自己手动调用和调用 mono,甚至 nunit-console 但是 TC 提供的这个 .exe 构建似乎有作为 Linux 非专家被难住了。

请将我从依赖 hell 中拯救出来!!

编辑:我最终只是通过安装 nunit-console 并启用 XML 报告处理构建功能来解决我的问题,而不是摆弄 corelib 文件并破坏某些东西否则。

最佳答案

这是一个 Mono 错误,请参阅 https://bugzilla.xamarin.com/show_bug.cgi?id=34675 .

问题是 Mono 转而提供 4.0 程序集,包括 mscorlib.dll,仅以引用程序集的形式提供。它们仅包含元数据,供编译器使用。通常应用程序会自动使用最新版本。

然而,Mono 中的加载程序代码并未更新,无法将 TeamCity 在其 .exe.config 文件中使用的显式运行时版本 v4.0.20506 或 v4.0.30128 绑定(bind)到最新版本。运行时尝试从 4.0 目录加载 mscorlib.dll 并因为版本太旧而放弃(从生成引用程序集的时间开始)。

作为解决方法,您可以编辑 <build agent
installdir>/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe.config
(和其他 .exe.config 文件)并删除以下行:

<supportedRuntime version="v4.0.20506"/>
<supportedRuntime version="v4.0.30128"/>

一旦 TeamCity 决定更新插件,这可能会停止工作。

关于linux - 在 Linux (mono) 上运行的 TeamCity NUnitLauncher 出现 "Corlib not in sync with this runtime"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29988698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com