"it does" is used here to draw attention to a potentially surprising, or perhaps contradictory part of the text.
The passage has said earlier that it doesn't have a pre-processor, but it points out that it has some other features which perform a similar function, and so "it does have ..." draws your attention to the "suprising" aspect of it.
It can be seen as a sort of companion to "Although" at the start: it has the form "Although
<X>, it does
<Y>", where Y contradicts X in some way, or is suprising given X.
You can use this in various different ways, eg
"I don't usually enjoy sports, but I do like golf."
"Sarah doesn't go out much, though she will always come to my parties."
You could just say "it has", like so:
Although C# doesn't strictly speaking have a pre-processor, it has conditional compilation symbols which can be used to affect compilation.
And this is fine, grammatically, but the original is better because the "it does" draws your attention to the surprising aspect.