私の C# プロジェクトには、Mono では (コンパイル時でも!) うまく機能しないインポートがあります。Mono で (コンパイル時に) 一部のコードを除外したい。以前に似たようなものを使用しました:
#if !__MonoCS__
...
#endif
ただし、この定数は OSX の Mono 4.0.2 では定義されていません。おそらくDNVMまたはRoslynでのみ。
ファイルの先頭で__MonoCS__定数を手動で定義するとします。すべて正常に動作します。
このプラットフォームに__MonoCS__に相当するものはありますか?
これが問題なら、私のプロジェクトは asp.net vnext ベースの webapi です。そして、次のコマンドでプロジェクトを実行します。
/Users/buraktamturk/.dnx/runtimes/dnx-mono.1.0.0-beta4/bin/dnx . kestrel
多くの具体的な情報については、「なぜコンパイル時に必要なのですか?」の答え。次のコードがコメントアウトされている場合にのみ機能するプロジェクト。
if(false) { // yes, false!
var certificate = new X509Certificate2(config.Get("google:pkeyloc"), config.Get("google:pkeypw"), X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(config.Get("google:serviceacc"))
{
Scopes = new[] { StorageService.Scope.DevstorageFullControl }
}.FromCertificate(certificate)
);
}