5
我使用Roslyn
来动态编译任意*.cs
文件。我能够生成DLLs
和PDBs
并通过反射在加载的程序集中执行方法,但是当从System.Diagnostics.Debugger.Launch()
附加VS调试程序时,出现'源不可用'错误。 VS中的“模块”窗口显示符号已成功加载。所讨论的资源位于同一解决方案下的一个项目中,但直到运行时才会被编译。使用Roslyn调试动态编译代码
有没有人成功地使这项工作?谢谢!
再现:https://gist.github.com/toraora/a9d4eb8679383fe659da04d3be5c2d6e(我要是把实际的解决方案时,我在设置完这台机器上的SSH密钥)
你介意发布一个最小的例子来重现这个问题吗?当然,我可以自己写,但我很懒:-) –
繁殖张贴! –
这个问题很容易被发现:你唯一使用的'srcfile'在'File.ReadAllText'中。由于您不提供任何方式知道源文件的方式,因此Roslyn无法生成允许找到该源文件的调试信息。但对于不太熟悉Roslyn API的人来说,解决方案并不是那么明显。 – hvd