我想从c#代码创建一个dll,即使编译中存在引用错误。是否可以从Roslyn API创建它。我可以看到"容忍错误"在EmitOptions类中,但它没有工作。
EmitOptions emitOptions = new EmitOptions(tolerateErrors: true);
var stream = new MemoryStream();
var emitResult = compilation.Emit(stream, options: emitOptions);
答案 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);
取代)。