Travis CI指定Mono 5.4.0.201版本无效,如何适配netstandard?
解决Travis CI不识别指定Mono 5.4.0.201版本的问题
我帮你整理几个可行的解决办法,都是针对这类旧版本Mono在Travis上无法直接指定的情况:
方法一:手动安装指定版本的Mono
因为Travis官方的Mono版本列表里可能没有收录5.4.0.201这个特定小版本,最可靠的方式是在travis.yml里添加自定义安装脚本,直接从Mono官方源拉取并安装该版本。
修改你的travis.yml,添加before_install步骤:
before_install: # 添加Mono官方密钥 - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF # 添加对应版本的源(这里针对Ubuntu Xenial环境,Travis常用的镜像) - echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/5.4.0.201 main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list # 更新源并安装指定版本的Mono开发包 - sudo apt-get update - sudo apt-get install mono-devel -y
这样Travis会在构建前自动安装你需要的Mono版本,代替默认的版本。
方法二:尝试指定主版本分支(备选)
如果手动安装遇到网络或源的问题,可以试试直接指定mono:5.4,Travis可能会安装该主版本下的最新小版本。不过这个版本不一定是你需要的5.4.0.201,所以如果必须用特定版本,还是优先选方法一。
补充说明
出现这个问题的核心原因是Travis CI维护的Mono版本列表不会包含所有官方发布的小版本,尤其是比较老旧的版本会被移出默认支持列表,所以需要通过自定义脚本手动安装来精确控制版本。
内容的提问来源于stack exchange,提问作者Darrell
相关产品推荐
相关产品推荐

