0
我通過理查德Bayler Levaro下載包C#代碼與羅斯林從的NuGet渲染。如何MetadataReference.CreateFromAssembly使用,而不是MetadataFileReference
該軟件包編譯並運行良好與Visual Studio CTP6。當我升級引用Microsoft.CodeAnalysis到最新版本時,我發現以下內容無法編譯爲MetaFileReferences似乎已經消失。
Richard有以下代碼來創建源代碼將被解析的項目中的引用程序集的集合(我認爲)。這裏是他的代碼:
Assembly csharpDisplay = typeof(CodeWalker).Assembly; renderer.MetadataReferences.Add( new MetadataFileReference(assembly.Location)); csharpDisplay.GetReferencedAssemblies() .ToList() .ForEach(a => renderer.MetadataReferences.Add( new MetadataFileReference(Assembly.Load(a).Location)));
然後,他使用引用的程序集列表中創建如下CSharpCompilation:
Compilation compilation = CSharpCompilation.Create("CoreRenderer",
syntaxTrees: new List<SyntaxTree> { SyntaxTree },
references: MetadataReferences);
SemanticModel = compilation.GetSemanticModel(SyntaxTree);
我的研究表明,我需要修改以上使用MetadataReference.CreateFromAssembly。但我不知道如何。我如何重寫上面的代碼?
另外CSharpKind屬性似乎已經消失了一個SyntaxNode!