1
私はRoslynを使用して、MsBuildWorkspace
を使用していくつかのプロジェクトでC#ソリューションをコンパイルしています。Roslyn MSBuildWorkspaceを使用してC#プロジェクトの 'obj'ディレクトリを見つける方法は?
Project
の出力ファイルを見つけるのは簡単です。そのためにはOutputFilePath
プロパティを使用することができます。
しかし、私は(一般的にこれは「objのディレクトリですが、これはcsproj
ファイルでMSBuildのプロパティBaseIntermediateOutputPath
とIntermediateOutputPath
を使用して変更することができます)「中間」ディレクトリを把握する方法を見つけることができません。
これを行う方法を知っている人はいますか?
あなたはそれを見つける必要があるのはなぜ? – svick
申し訳ありませんが、私はより具体的であったはずです。プログラムの実行中に修正コードを再コンパイルする(「AppDomainを使用してすべてのアセンブリをロード/アンロードする)」という「ホットコードリローダ」を作成しています。しかし、Visual Studio/MSBuildは中間の 'obj'フォルダにC#ファイルを生成することがよくあります。たとえば、 'UserControl.xaml.cs'ファイルの場合、別のファイル' UserControl.g.cs'が生成されます。私はRoslynがこれらのファイルを生成することはできないと思うので、私の現在の方法は、これらの生成されたファイルを新しいRoslynの 'Project'に追加することです。これはハックですが、動作します(MVVMと緩やかなXAMLを使用しているので、これらのファイルはいくつかしかありません) – Ziriax