我在Xenial和Trusty Ubuntu的Travis CI上遇到Mono 5.14.0.177,msbuild 15.0,nuget 4.7.1的构建失败,但在VirtualBox,Ubuntu Xenial中无法重现。
运行后:mono tools/nuget/nuget.exe restore pythonnet.sln -o packages
错误消息是:
Currently running NuGet.exe 4.1.0.
Updating NuGet.exe to 4.7.1.
Update successful.
MSBuild auto-detection: using msbuild version '15.0' from '/usr/lib/mono/msbuild/15.0/bin'.
Error parsing solution file at /home/travis/build/pythonnet/pythonnet/pythonnet.sln: Invalid Image
这是在VirtualBox中成功构建的代码:
https://gist.github.com/denfromufa/23557331aba2ad548eba2fbff84f2307
并在Travis CI中构建失败:
https://travis-ci.org/pythonnet/pythonnet/jobs/419381040
在GitHub上的本期中的更多详细信息:
https://github.com/pythonnet/pythonnet/pull/698
最佳答案
通过降级到msbuild 14.0,此问题已在pythonnet Travis CI中得到临时解决:
cmd = "{0} update -self".format(nuget)
self.debug_print("Updating NuGet: {0}".format(cmd))
subprocess.check_call(cmd, shell=use_shell)
cmd = "{0} restore pythonnet.sln -MSBuildVersion 14 -o packages".format(nuget)
https://github.com/pythonnet/pythonnet/blob/master/setup.py#L332
关于c# - 在Travis CI上使用Mono 5.14.0.177,msbuild 15.0,nuget 4.7.1构建失败,但在VirtualBox中不可复制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51988395/