我使用具有多个源代码的CompileAssemblyFromSource动态编译代码。
在发生编译错误时,我可以从Errors集合中检索行号等信息。
但是,行号是所有源中的行号。我需要的是哪个源和故障源中的行号(在添加的源中)。
不做计算杂技,这是可能的吗?
发布于 2011-10-15 07:04:56
我在我的一个应用程序中这样做,如果有错误,我会写出编译的源代码-生成编译器错误的源代码-以及编译过程中生成的所有错误消息。我将这些错误消息放在注释中,并将它们附加到源文件的末尾。如果我没记错的话,源文件是用File.WriteAllText()写在用户临时目录的一个文件中的,然后我抛出了一个指向那个源模块的路径异常。所有这些都只有在出现编译错误时才会发生。如果没有错误,那么我不会以这种方式写出源代码。
在我的例子中,实际上只有一个模块,因为我将所有源代码连接到一个模块中。在这种情况下,没有混淆“第143行”的含义。
https://stackoverflow.com/questions/7771168
复制相似问题