2

MonoDevelop 5.1.0を使用してソリューションをコンパイルし、 XBuildを呼び出すCakeスクリプトを使用して同じソリューションをコンパイルすると、異なる動作が発生します。

MonoDevelop でソリューションをコンパイルすると、すべて正常に動作します。Cake スクリプトをコンパイルすると、次のエラーが発生します。

型 System.IDisposable' は、参照されていないアセンブリで定義されています。アセンブリ System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' への参照を追加することを検討してください

このような異なる動作の理由は何でしょうか?

cake スクリプトは、特別なことは何もしていません。まったく同じソリューションで 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
4

1 に答える 1

4

XBuild エイリアスを使用する代わりに、 GUI なしでMonodevelopを使用してソリューションをコンパイルする mdtoolのMDToolBuildエイリアスを提供するCake.Xamarinアドインを使用することができます。

public static void MDToolBuild(
       FilePath projectOrSolutionFile,
       Action<MDToolSettings> settings
)

Cake スクリプトでの使用例:

#addin "Cake.Xamarin"

MDToolBuild(
   "./mySolution.sln",
   settings=> { settings.Configuration = "Debug"; },
);
于 2016-06-02T11:25:07.817 に答える