从Roslyn API获取构建操作?

时间:2015-11-10 06:51:35

标签: roslyn roslyn-code-analysis

使用Roslyn(Microsoft.CodeAnalysis)API,如何获取Build ActionCopy to Output Directory File Properties?我能够打开项目文件并获取文档,但不知道如何获取文件属性。

enter image description here

打开项目并循环遍历文件很容易。我只是想知道每个构建操作是什么。

    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

2 个答案:

答案 0 :(得分:2)

Roslyn的API并不代表编译器不关心或需要语言分析的东西。在这种情况下,您需要直接使用MSBuild APIs

答案 1 :(得分:1)

这是一种检索项目类型(也称为构建操作)的方法,只需项目ID(来自Roslyn的ProjectId.Id的Guid)和Document.FilePath:http://www.cazzulino.com/item-type-from-file.html