はじめに
今回はUnityが利用しているMicrosoft.CodeAnalysis.CSharp
のバージョンの確認方法を紹介したいと思います。
Roslyn Analyzer
やSource Generator
を利用する場合はMicrosoft.CodeAnalysis.CSharp
のバージョンによって利用できるバージョンが異なるため、結構重要です。
確認方法
Microsoft.CodeAnalysis.CSharp.dllを見つける
UnityのバージョンによってMicrosoft.CodeAnalysis.CSharp.dll
の場所が異なるようです。Microsoft.CodeAnalysis.CSharp
のバージョンが異なる4つのUnityバージョンの例を載せます。
// v3.5.0.0 /Applications/Unity/Hub/Editor/2021.1.28f1/Unity.app/Contents/Tools/Roslyn/Microsoft.CodeAnalysis.CSharp.dll
// v3.9.0.0 /Applications/Unity/Hub/Editor/2021.3.0f1/Unity.app/Contents/Tools/ScriptUpdater/Microsoft.CodeAnalysis.CSharp.dll
// v3.11.0.0 /Applications/Unity/Hub/Editor/2022.3.0f1/Unity.app/Contents/Tools/ScriptUpdater/Microsoft.CodeAnalysis.CSharp.dll
// v4.4.0 /Applications/Unity/Hub/Editor/2023.2.0b17/Unity.app/Contents/Tools/Compilation/ApiUpdater/Microsoft.CodeAnalysis.CSharp.dll
ちなみにneueccさんの記事曰く、Unity 2021.2からv3.5からv3.9に変更され、Unity2022.2・Unity2023.1 から v4.1.0 のコンパイラが搭載されているそうです。
https://neue.cc/2022/12/16_IncrementalSourceGenerator.html
Riderで確認する方法
dll
の中身を見る方法は沢山ありますが、今回はRiderを利用して調べる方法を紹介します。
適当なプロジェクトを開く(もしくは作成)し、以下の画像を参考にしながらエクスプローラーからアセンブリを選択します。
後はRider上のエクスプローラーにFinder上の.dll
をドラッグ&ドロップすればデコンパイルしてくれます。