从编译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
他说这已被删除,因为它有问题"。
我很难在互联网上找到关于此的任何其他信息。有谁知道:
答案 0 :(得分:0)
正如svick和JoshVarty在评论中所说,目前这是不可能的。我还为此创建了一个问题(https://github.com/dotnet/roslyn/issues/2621),可能会或可能不会从Microsoft团队获得更多信息。