在使用 MonoDevelop 5.1.0 编译解决方案时,我通过调用Cake的XBuild脚本获得了相同的解决方案。
使用MonoDevelop编译解决方案时,一切正常。 通过我的蛋糕脚本编译时,我收到以下错误:
类型System.IDisposable'在一个不是的程序集中定义 引用。考虑添加对程序集System.Runtime的引用, Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'
这种不同行为可能是什么原因?
蛋糕脚本没有任何花哨的东西。它只是用完全相同的解决方案调用XBuild。
我的环境(在Fedora 23上):
mono --version
Mono JIT compiler version 4.4.0 (Stable 4.4.0.142/81f38a9 Thu Apr 28 09:14:25 EDT 2016)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
XBuild Version:
XBuild Engine Version 14.0
Mono, Version 4.4.0.0
Copyright (C) 2005-2013 Various Mono authors
答案 0 :(得分:4)
您可以尝试不使用XBuild别名来使用Cake.Xamarin addin,它为MDToolBuild提供mdtool别名,它使用Monodevelop而不使用GUI来编译您的解决方案。
public static void MDToolBuild(
FilePath projectOrSolutionFile,
Action<MDToolSettings> settings
)
Cake脚本中的示例用法:
#addin "Cake.Xamarin"
MDToolBuild(
"./mySolution.sln",
settings=> { settings.Configuration = "Debug"; },
);