据我了解,Roslyn 引入了工作空间的概念。工作区的一种实现是 MsBuildWorkspace。
我的问题是,我可以从自定义构建任务中访问代表正在构建的项目的 Roslyn 工作区吗?
我怀疑这就是MsBuildWorkspace 的目的。如果是这样,我可以从Execute
我的自定义任务中的方法(源自Microsoft.Build.Utilities.Task
)?
如果您想知道为什么,我需要遍历正在构建的项目的其他方面。
对我来说,访问任务的特定输入文件来生成输出是不够的。
我怀疑这就是MsBuildWorkspace的目的
No.
要点是MsBuildWorkspace
是将 MSBuild 项目或解决方案解析为 Roslyn 工作区。
MSBuild 本身(实际运行 MSBuild 任务)根本不使用 Roslyn(它只是调用 C# 编译任务,该任务是使用 Roslyn 实现的),因此不存在现有的MsBuildWorkspace
你可以取到的。
您可以创建自己的MsBuildWorkspace
来自项目文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)