使用Roslyn(Microsoft.CodeAnalysis)API,如何获取Build Action
和Copy to Output Directory
File Properties
?我能够打开项目文件并获取文档,但不知道如何获取文件属性。
打开项目并循环遍历文件很容易。我只是想知道每个构建操作是什么。
open Microsoft.CodeAnalysis.MSBuild
use ws = MSBuildWorkspace.Create()
let pr = ws.OpenProjectAsync proj |> Async.RunTask
for doc in pr.Documents do
printfn "file %s" doc.FilePath
答案 0 :(得分:2)
Roslyn的API并不代表编译器不关心或需要语言分析的东西。在这种情况下,您需要直接使用MSBuild APIs。
答案 1 :(得分:1)
这是一种检索项目类型(也称为构建操作)的方法,只需项目ID(来自Roslyn的ProjectId.Id的Guid)和Document.FilePath:http://www.cazzulino.com/item-type-from-file.html