. net CompileAssemblyFromSource:确定哪个源失败

本文关键字:失败 CompileAssemblyFromSource net | 更新日期: 2023-09-27 18:11:12

我正在动态编译代码,使用CompileAssemblyFromSource与多个源。

如果发生编译错误,我可以从Errors集合中检索行号等。

但是行号是所有源中的行号。我需要的是哪个源和失败源中的行号(在添加的源中)。

如果不做计算,这可能吗?

. net CompileAssemblyFromSource:确定哪个源失败

我在我的一个应用程序中这样做,如果有错误,我写出编译的源代码-生成编译器错误的源代码-以及编译过程中生成的所有错误消息。我将这些错误消息放在注释中,并将它们附加到源文件的末尾。如果我没记错的话,源文件将使用file . writealltext()在用户临时目录中的文件中写入,然后我抛出一个带有该源模块路径的异常。所有这些只有在出现编译错误时才会发生。如果没有错误,那么我就不这样写源代码了。

在我的例子中确实只有一个模块,因为我将所有源连接到一个模块中。在这种情况下,"第143行"的含义并不混淆。