使用 MonoDevelop 或 Cake/XBuild 编译解决方案给出不同的结果
Compiling a solution with MonoDevelop or Cake/XBuild giving different results
在使用 MonoDevelop 5.1.0 编译解决方案和通过 Cake script invoking XBuild.
编译相同的解决方案时,我遇到了不同的行为
使用 MonoDevelop 编译解决方案时,一切正常。
通过我的蛋糕脚本编译时,出现以下错误:
The type System.IDisposable' is defined in an assembly that is not
referenced. Consider adding a reference to assembly 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
您可以尝试使用 Cake.Xamarin addin which provides the MDToolBuild alias for the mdtool 而不是使用 XBuild 别名,它使用不带 GUI 的 Monodevelop 来编译您的解决方案。
public static void MDToolBuild(
FilePath projectOrSolutionFile,
Action<MDToolSettings> settings
)
Cake 脚本中的示例用法:
#addin "Cake.Xamarin"
MDToolBuild(
"./mySolution.sln",
settings=> { settings.Configuration = "Debug"; },
);
在使用 MonoDevelop 5.1.0 编译解决方案和通过 Cake script invoking XBuild.
编译相同的解决方案时,我遇到了不同的行为使用 MonoDevelop 编译解决方案时,一切正常。 通过我的蛋糕脚本编译时,出现以下错误:
The type System.IDisposable' is defined in an assembly that is not referenced. Consider adding a reference to assembly 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
您可以尝试使用 Cake.Xamarin addin which provides the MDToolBuild alias for the mdtool 而不是使用 XBuild 别名,它使用不带 GUI 的 Monodevelop 来编译您的解决方案。
public static void MDToolBuild(
FilePath projectOrSolutionFile,
Action<MDToolSettings> settings
)
Cake 脚本中的示例用法:
#addin "Cake.Xamarin"
MDToolBuild(
"./mySolution.sln",
settings=> { settings.Configuration = "Debug"; },
);