| 原作者 | マイクロソフト |
|---|---|
| 開発者 | .NET Foundationとオープンソース コミュニティ |
| 安定版リリース | .NET 7.0.0 / 2022年11月8日[1] |
| リポジトリ | github.com/dotnet/roslyn |
| 書かれた | C#、Visual Basic |
| オペレーティング·システム | Windows、Linux、macOS |
| プラットフォーム | IA-32、x86-64 |
| タイプ | コンパイラ |
| ライセンス | MITライセンス |
| Webサイト | learn.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/ |
.NETコンパイラプラットフォームは、コード名Roslyn [2]としても知られ、MicrosoftのC#およびVisual Basic (VB.NET)言語用のオープンソース コンパイラとコード分析 APIのセットです。[3]
このプロジェクトには、 C# および VB.NET コンパイラのセルフホスティングバージョンが含まれています。これらのコンパイラは、言語自体で記述されています。コンパイラは、従来のコマンド ライン プログラム経由でも使用できますが、.NET コード内からネイティブに使用できる API としても使用できます。Roslyn は、コードの構文 (語彙) 解析、意味解析、 CILへの動的コンパイル、およびコード出力用のモジュールを公開しています。[4]
特徴
Roslyn の機能は次のとおりです。
- API 経由でサービスとして公開されるC#およびVisual Basic言語のコンパイラ。
- コード分析とリファクタリングのための API 。[引用が必要]
歴史
コードネーム「ロズリン」は、エリック・リッパート(元マイクロソフトのエンジニア[5])が、2010年に新しいプロジェクトの開発者を雇うために公開した投稿[6]で最初に書かれました。彼は最初、名前の由来はワシントン州ロズリンにあると述べましたが、投稿の後半で皮肉を込めて、オフィスの「北向き」について語っています。ロズリン市は、テレビシリーズ「ノーザン・エクスポージャー」の撮影場所の1つでした。 [7]
マイクロソフトは2011年10月にコミュニティテクノロジプレビュー(CTP)を一般向けにダウンロードできるようにした。これはVisual Studio 2010 SP1の拡張機能としてインストールされる。[8]
CTPは2012年9月に更新され[9]、 2012年6月と2011年10月のCTPで導入されたRoslyn APIの多くの更新が含まれ、これには破壊的な変更も含まれています。[10] 2012年6月のCTP APIはコンパイラーに対しては完全ですが、C#とVB.NET言語に対してすべての機能が実装されているわけではありません。[11]
2014年4月にサンフランシスコで開催されたBuild 2014カンファレンスで、マイクロソフトは「Roslyn」プロジェクトをオープンソース化し、 Visual Studio 2013の言語統合のプレビューをリリースした。2014年4月3日現在[アップデート]、RoslynはApache License 2.0の下にあります。[3]このプロジェクトは、新しく設立された.NET Foundationの管理下に事実上移管されました。[12]同じカンファレンスで、Xamarinは新しいコンパイラとツールをXamarin Studioに統合する作業を進めていることを発表しました。[13]
このリリースでは、コンパイラの機能が完全ではありませんでした。各コンパイラには、今後の言語バージョン (C# 6 および Visual Basic.NET 14) で予定されている機能が含まれています。API はNuGetパッケージ マネージャーからも入手できます。[引用が必要]
2013年現在[アップデート]、RoslynはVBとC#をサポートしており、コンパイラはそれぞれの言語で書かれています。[14] Roslynの最初の製造向けリリース(RTM)はVisual Studio 2015でした。[15]
2015年1月、マイクロソフトはRoslynのソースコードをCodePlexからGitHubに移した。[16]
建築
従来、.NET コンパイラはアプリケーション開発者にとってブラックボックスでした。[17]しかし、現代の統合開発環境ではソースコード分析の複雑さと需要が高まっているため、コンパイラは、ソースコードの語彙や構文の構造分析などのコンパイル段階を直接実行できるように、アプリケーションプログラミングインターフェイス(API) を公開する必要があります。 Roslyn は最初からその意図で設計されました。これにより、ソースコード分析専用に設計されたツールの開発の障壁が軽減されます。 Roslyn の API には、機能 API、ワークスペース API、コンパイラ API の 3 種類があります。機能 API を使用すると、ソースコードツール開発者はコードのリファクタリングと修正を行うことができます。ワークスペース API を使用すると、プラグイン開発者は、変数の参照の検索やコードのフォーマットなど、 Visual Studioなどの統合開発環境(IDE)で特に必要なアクションを実行できます。コンパイラ API を使用すると、構文ツリーとバインディングフロー分析を実行するための直接呼び出しを公開することで、さらに高度なソースコード分析が可能になります。[18] .NET Coreなどの共通言語基盤(CLI)のオープンソース実装を使用することで、Roslynはプラットフォームに依存しない方法でコンパイルでき、Linux、OS X、WindowsでCLIコードを実行できるようになります。[要出典]
参照
参考文献
- ^ 「Release .NET 7.0.0」。GitHub。2021年12月14日。 2022年5月5日閲覧。
- ^ 「C# と Visual Basic - Roslyn を使用して API のライブ コード アナライザーを作成する」。msdn.microsoft.com。2015年 7 月 24 日。2019年1 月 7 日に閲覧。
- ^ ab .NET コンパイラ プラットフォーム ("Roslyn") GitHub上
- ^ Neil McAllister、Microsoft の Roslyn: コンパイラーの常識を覆す、DEVELOPER_WORLD、2011-10-20
- ^ 「コーディングにおける素晴らしい冒険」。Eric Lippert について。Eric Lippert。2012 年 11 月 29 日。
- ^ 「Roslyn の採用」。Eric Lippert の MSDN ブログ。Eric Lippert。2010 年 12 月 16 日。
- ^ Muir, Pat (2014年10月5日). 「Roslyn、新しいテレビ番組で15分以上の名声を得ることを期待」. Yakima Herald . 2014年11月2日時点のオリジナルよりアーカイブ。 2014年11月1日閲覧。
- ^ Microsoft "Roslyn" CTP 2012年4月18日アーカイブ、Wayback Machine、Microsoftダウンロードセンター
- ^ Microsoft "Roslyn" CTP、Microsoft ダウンロード センター
- ^ Microsoft "Roslyn" 2012 年 9 月 CTP の新機能、Visual Studio vNext フォーラム
- ^ 既知の制限事項と未実装の言語機能、Visual Studio vNext フォーラム
- ^ .NET Foundation – .NET コミュニティのためのオープン ソース ファンデーション
- ^ 「Build 2014 の 2 回目の基調講演のハイライト」。InfoQ。2021年12 月 26 日閲覧。
- ^ Microsoft Roslyn 対 CodeDom
- ^ Visual Studio 2015 RTM、2015-07-20
- ^ GitHub に移行します! 2015 年 12 月 1 日にWayback Machineにアーカイブ、MSDN VBTeam ブログ、2015-01-10
- ^ 「ホワイトペーパー: Roslyn プロジェクトの概要」。Microsoft。
- ^ GitHub ドキュメントからの Roslyn の概要
さらに読む
- Vasani, Manish (2017)。Roslynクックブック: サービスとしてのコンパイラ、コード分析、コード品質など。Packt Publishing。ISBN 978-1787286832。
- ハリソン、ニック (2017)。Roslynによるコード生成。Apress。ISBN 978-1484222102。
- Mukherjee, Sudipta (2017)。Roslynと JavaScript データ視覚化によるソースコード分析。Apress。ISBN 978-1484219249。
外部リンク
- 公式サイト
- C# のよくある質問MSDN ブログで Microsoft “Roslyn” CTP を紹介
- C# のよくある質問MSDN ブログで Roslyn に大きなスイッチを入れる
