【发布时间】:2017-01-27 13:03:19
【问题描述】:
我正在使用 Roslyn 编译一个项目,代码类似于:
var workspace = MSBuildWorkspace.Create();
var project = await workspace.OpenProjectAsync("SomeProject.csproj");
var compilation = await project.GetCompilationAsync();
我需要设置一个编译符号(例如DEBUG 或TRACE,但在我的情况下是完全自定义的)。如何使用 API 做到这一点?
我看到 project 有一个 CompilationOptions 属性,但我没有看到任何相关的内容。
编辑感谢@JoshVarty,他指出在编译之前添加这样的代码:
project = project
.WithParseOptions(((CSharpParseOptions)project.ParseOptions)
.WithPreprocessorSymbols("SOME_SYMBOL"));
【问题讨论】:
标签: c# .net roslyn conditional-compilation