Hello Pete,
A couple of questions:
* what sort of build agents are you using - hosted, or self-hosted?
* is it always the same project that is skipped, or does it vary?
* are the missing projects .NET Core projects or old-style projects?
The target CreateProjectSpecificDirs is in the SonarLint.Integration.targets build that is injected into the build by the SonarLint.Integration.ImportBefore.targets.
If the target isn't being run then either (1) the targets aren't being injected into the build correctly, or (2) the targets are being injected but the CreateProjectSpecificDirs target is being skipped for some reason.
If you configure the build to produce detailed output (add /v:detailed as an MSBuild command line argument in the build step) you'll be able to see from the log if it's (2) or not i.e. the target is injected but skipped.
There is a potential issue issue if multiple concurrent build jobs are being executed on the same build machine, as described in t
his Scanner for MSBuild issue (note that it's ok to use the /m switch to tell MSBuild to build a single solution using multiple processes: the issue occurs if there are multiple solutions being built and analysed in parallel).
However, I don't think this would occur in VSTS unless you are using self-hosted build agents, and have more than one build agent configured on the same machine.
Regards,
Duncan