web-dev-qa-db-ja.com

Roslynクロスプラットフォームですか?

私はかなり長い間 Roslyn を見てきましたが、私はそれについて好奇心が強く、興奮しています。私が気づいたことの1つは、コンパイラがマネージコードで書き直されていると彼らが言及したことです。これは、Roslynが Mono などの非.NET仮想マシンで実行できるかどうかという問題を提起します。

私は本当にRoslynを使用してC#スクリプトをビデオゲームに埋め込み、他の多くの機能をアプリケーションで使用したいのですが、 Roslynを使用すると、Mono上で実行する機能が壊れます。

誰かがRoslynをMonoで実行してみましたか?出来ますか?なぜか、なぜそうでないのか?

明確にするために、マネージアセンブリをMonoで実行できるかどうか、およびMonoが実行できるアセンブリを生成できるかどうかに興味があります。

55
mirhagk

それはエリックの心から最も遠いものですが、Roslynは 真のオープンソースとしてリリースされました (Apache 2.0)および 実際には現在クロスプラットフォームです です。

XamarinのMiguel de Icaza ビルド時にMonoで実行されていることを示しています。

Roslynがリリースされると、Monoの一部になります。彼らはすでに Mono Gitリポジトリでブランチを維持しています です。

30
Justin

@Govertはすでにコメントで述べたように、C#スクリプト機能を埋め込む場合は、Monoと同等のライブラリ/ツールであるMono-Csharpを使用するだけです。 (特に、Roslyn couldがMonoで実行されている場合でも、そのライセンスにより、許可されていない場合があります。)

Monoの世界にあるこのツールは、Roslyn BTWよりはるかに早くから存在しており、オープンソースです。ここにあなたはそれについてブログを書いて、それをNugetにアップロードするマイクロソフトの従業員さえいます:

http://blog.davidebbo.com/2012/02/quick-fun-with-monos-csharp-compiler-as.html

あなたのゲームがお尻を蹴ることを願っています!

17
knocte