使用Roslyn RC

时间:2015-05-09 09:57:03

标签: c# roslyn

从编译Roslyn SyntaxTree的许多例子中,我看到了如下代码:

[... create tree and compilation ...]
var assembly = AppDomain.CurrentDomain.DefineDynamicAssembly(new AssemblyName("foo"), AssemblyBuilderAccess.RunAndCollect);
var module = assembly.DefineDynamicModule("foo");

var result = compilation.Emit(module);

但是当我尝试在当前使用Visual Studio 2015 RC发布的Roslyn中执行此操作时,我看到没有Emit()需要一个模块。我需要写入流并将其加载到常规AppDomain - 锁定Assembly

然后我从Tomas Matousek看到这个答案:https://stackoverflow.com/a/22977158

他说这已被删除,因为它有问题"。

我很难在互联网上找到关于此的任何其他信息。有谁知道:

  • Roslyn还有另一种方法可以编译成可以进行垃圾回收的程序集吗?
  • 或者这将在VS / Roslyn的最终版本中得到支持吗?
  • 如果这里没有人知道(无法找到官方的,活跃的Roslyn论坛),我应该指导这个问题吗?

1 个答案:

答案 0 :(得分:0)

正如svick和JoshVarty在评论中所说,目前这是不可能的。我还为此创建了一个问题(https://github.com/dotnet/roslyn/issues/2621),可能会或可能不会从Microsoft团队获得更多信息。