我正在使用“入门:语义分析”演练来检查Roslyn API。
其中有一部分试图添加对编译的引用:
var compilation = Compilation.Create("HelloWorld")
.AddReferences(new AssemblyNameReference("mscorlib"))
.AddSyntaxTrees(tree);
但似乎API已更改,并且'AssemblyNameReference'不再存在。
或者该文档是错误的,因为“ AddReferences”的命名表明它需要某种IEnumerable。
顺便说一句,我正在寻找正确的实现,以便可以对其进行测试!
最佳答案
2012年9月版的语义分析(CSharp)演练包含以下代码:
var compilation = Compilation.Create("HelloWorld")
.AddReferences(MetadataReference.CreateAssemblyReference("mscorlib"))
.AddSyntaxTrees(tree);
您可能正在查看早期CTP中的演练版本。尝试在MetadataReference上使用静态工厂方法。