我可以从 MsBuild 任务 class 中访问 MsBuildWorkspace 吗?
Can I access the MsBuildWorkspace from within a MsBuild Task class?
据我了解,Roslyn 引入了 Workspaces 的概念。工作区的一种实现是 MsBuildWorkspace。
我的问题是,我可以从自定义构建任务中访问代表正在构建的项目的 Roslyn 工作区吗?
我怀疑这是MsBuildWorkspace的目的。如果是这样,我可以从自定义任务(派生自 Microsoft.Build.Utilities.Task
)中的 Execute
方法访问此工作区吗?
如果您想知道为什么,我需要遍历正在构建的项目的其他方面。
我无法访问任务的特定输入文件来生成输出。
I suspect that this is the purpose of MsBuildWorkspace
没有
MsBuildWorkspace
的要点是将 MSBuild 项目或解决方案解析到 Roslyn 工作区中。
MSBuild 本身(实际运行您的 MSBuild 任务)根本不使用 Roslyn(它只是调用使用 Roslyn 实现的 C# 编译任务),因此不存在 MsBuildWorkspace
你可以取。
您可以从项目文件创建自己的 MsBuildWorkspace
。
据我了解,Roslyn 引入了 Workspaces 的概念。工作区的一种实现是 MsBuildWorkspace。
我的问题是,我可以从自定义构建任务中访问代表正在构建的项目的 Roslyn 工作区吗?
我怀疑这是MsBuildWorkspace的目的。如果是这样,我可以从自定义任务(派生自 Microsoft.Build.Utilities.Task
)中的 Execute
方法访问此工作区吗?
如果您想知道为什么,我需要遍历正在构建的项目的其他方面。 我无法访问任务的特定输入文件来生成输出。
I suspect that this is the purpose of MsBuildWorkspace
没有
MsBuildWorkspace
的要点是将 MSBuild 项目或解决方案解析到 Roslyn 工作区中。
MSBuild 本身(实际运行您的 MSBuild 任务)根本不使用 Roslyn(它只是调用使用 Roslyn 实现的 C# 编译任务),因此不存在 MsBuildWorkspace
你可以取。
您可以从项目文件创建自己的 MsBuildWorkspace
。