如何使用 project.json 文件中的依赖项在 Roslyn 中创建元数据引用?

How can I create MetadataReferences in Roslyn using the dependencies from a project.json file?

所以在新的 DNX 世界中,他们用 NuGet 处理了所有的东西。我正在编写 DNX 项目,我想使用 Roslyn 来分析它们。我希望加载 project.json 文件,确定要包含的 .cs 文件的模式,然后读取形成编译所需的 MetadataReferences 所需的 "references"。

我 运行 遇到的问题是 project.json 文件引用 NuGet 样式的依赖项(甚至可能引用机器上其他地方的项目),但 Roslyn 只接受对依赖程序集的位(文件路径、流等)。

我将如何查询 project.json 文件并最终得到用于 Roslyn 分析的 MetadataReferences 列表?

我们在撰写本文时的当前 "best answer" 是 .NET CLI 存储库中的一个实现。您可以从我们 https://www.myget.org/F/dotnet-cli/ 的每晚 CLI 提要中获取 NuGet 程序包,但这些构建实际工作的可能性为零。请务必检查 "prerelease",因为那里的所有内容都是预发布的。