Roslyn を使用したコンパイル時のソースコード変更 質問する

Roslyn を使用したコンパイル時のソースコード変更 質問する

CI サーバー上の MSBuild タスク内で Roslyn を使用してコンパイル前にソース コードを変更することは可能ですか? VS では目的の作業はできましたが、VS 以外では可能かどうか疑問に思っています。現在、Workspace API と Compiler API を検討していますが、これらはそれを実現するのに適したツールのようですが、それが本当に可能かどうかはまだわかりません。特に、MSBuild に加えた変更を戻して、ジョブを続行できるようにすることについて懸念しています。

ベストアンサー1

これは間違いなく私たちが考えているシナリオです。しかし、現在、それを少し難しくしている問題がいくつかあります。

  1. すでに msbuild 内にいるため、Workspace API を使用してプロジェクト/ソリューションを読み込むことはできません。
  2. 通常のコンパイラ API を使用するには、コンパイルを自分で構築する必要がありますが、これは大変な作業になる可能性があります。

将来的には、「csc/vbc コマンドライン文字列からワークスペースを作成する」機能を提供したいと考えています。これにより、この作業がさらに簡単になります。

を見てみましょうコンパイラ(csc.exe または vbc.exe)自体へのフックそしてMS ビルド タスクで Roslyn を使用する際の問題これについては以前議論しました。

おすすめ記事