有没有办法发出DLL甚至编译中的引用错误

时间:2017-10-20 10:56:39

标签: roslyn roslyn-code-analysis

我想从c#代码创建一个dll,即使编译中存在引用错误。是否可以从Roslyn API创建它。我可以看到"容忍错误"在EmitOptions类中,但它没有工作。

EmitOptions emitOptions = new EmitOptions(tolerateErrors: true);
var stream = new MemoryStream();
var emitResult = compilation.Emit(stream, options: emitOptions);

1 个答案:

答案 0 :(得分:0)

我相信,您可以创建称为引用程序集的程序。您只需要在<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="styles.css"> <title>Title of your HTML page</title> </head> <body> <!-- Put your HTML here --> <script src="myscripts.js"></script> </body> </html>上设置metadataOnly标志:

EmitOptions

尽管如此,此类程序集只能用于解析引用。它们不包含任何实际代码(所有方法主体均被var emitOptions = new EmitOptions(metadataOnly: true, tolerateErrors: true); 取代)。