That's true, but as R# suggest, it's just a warning. I doesn't mean that is forbidden. (And you can disable that warning with a comment).
Other approach is to have a non virtual method (which is called from the constructor) that internally calls the virtual one. Admittedly, it messy, but it'll work with no warnings.
What I usually do when I have to put non trivial logic into constructors is extract the constructor code into a factory method and call that method instead. The disadvantage in this case is that in general factory methods rely on private constructors (for consistency sake) which ends up begin a complication for mocking because you can't create a mock from a class that have no public constructor.
Don'y get me wrong, calling virtual methods inside a constructor could be dangerous, but in this case, I'll just disable the warning with comment and move on.
PS: you may have seen that, but it's a good read about that R# warning.
~ Ale Miralles