2016-09-19 4 views
2

Ich bin ein Projekt kompilieren mit Roslyn mit Code ähnelt:Führen Roslyn bedingte Kompilierung mit benutzerdefinierten Symbol (zB: „debug“) definiert

var workspace = MSBuildWorkspace.Create(); 
var project = await workspace.OpenProjectAsync("SomeProject.csproj"); 
var compilation = await project.GetCompilationAsync(); 

Ich brauche eine Kompilation Symbol (wie DEBUG oder TRACE einstellen , aber in meinem Fall etwas ganz Gewohntes). Wie kann ich das mit der API machen?

Ich sah, dass project eine CompilationOptions Eigenschaft hat, aber ich habe nichts Relevantes dort gesehen.


EDIT Dank @JoshVarty, die auf das Hinzufügen wies Code wie folgt vor der Kompilation:

project = project 
    .WithParseOptions(((CSharpParseOptions)project.ParseOptions) 
    .WithPreprocessorSymbols("SOME_SYMBOL")); 

Antwort

Verwandte Themen