使用Roslyn调试动态编译的代码

时间:2016-06-13 21:27:01

标签: c# roslyn

我使用Roslyn动态编译任意*.cs个文件。我能够生成DLLsPDBs并通过反射在加载的程序集中执行方法,但是当从System.Diagnostics.Debugger.Launch()附加VS调试器时,我得到了'来源不可用'错误。 '模块' VS中的窗口显示符号已成功加载。有问题的源存在于同一解决方案下的项目中,但直到运行时才会编译。

有没有人成功地让这个工作?谢谢!

再现:https://gist.github.com/toraora/a9d4eb8679383fe659da04d3be5c2d6e(当我在这台机器上设置完SSH密钥时,我会提出实际的解决方案)

1 个答案:

答案 0 :(得分:7)

啊,所以解决办法就是:

CSharpSyntaxTree.ParseText(File.ReadAllText(srcfile), path: srcfile, encoding: System.Text.Encoding.UTF8)

谢谢@hvd!