Verify MSBuild version in Developer CMD prompt
Verify MSBuild version in Developer CMD prompt

Roslyn is designed to have the simplest possible contribution story:
clone then build. Every pre-req needed is either located on the machine
or bootstrapped via NuGet. All the way down to using an xcopy MSBuild if
needed.

The one case which causes a problem is the VS command prompt. In this
case MSBuild is pre-installed on the machine and may or may not be
suitable for building Roslyn.

Previously when building from a VS command prompt we just used whatever
MSBuild was provided. The assumption being a developer command prompt
was an explicit statement of whath MSBuild you wanted to use. Based on
all of our customer reports though this does not seem to be the
assumption that consumers of our repo have. The build gave them no
explicit errors about the provided toolset and hence when the build
failed they assigned flakiness to our repo.

Going forward we are applying the same version validation to MSBuild
when provided via a developer command prompt. If it doesn't match we
will refuse to build asking the user to upgrade VS or build from a
normal command prompt.

tmeschter/roslyn,Giftednewt/roslyn,eriawan/roslyn,bkoelman/roslyn,paulvanbrenk/roslyn,MichalStrehovsky/roslyn,stephentoub/roslyn,diryboy/roslyn,gafter/roslyn,mattscheffer/roslyn,davkean/roslyn,swaroop-sridhar/roslyn,KirillOsenkov/roslyn,KirillOsenkov/roslyn,DustinCampbell/roslyn,jasonmalinowski/roslyn,AdamSpeight2008/roslyn-AdamSpeight2008,Hosch250/roslyn,xasx/roslyn,jmarolf/roslyn,dotnet/roslyn,jasonmalinowski/roslyn,AdamSpeight2008/roslyn-AdamSpeight2008,stephentoub/roslyn,CyrusNajmabadi/roslyn,dotnet/roslyn,KevinRansom/roslyn,Giftednewt/roslyn,mgoertz-msft/roslyn,dpoeschl/roslyn,heejaechang/roslyn,abock/roslyn,panopticoncentral/roslyn,agocke/roslyn,AlekseyTs/roslyn,mavasani/roslyn,OmarTawfik/roslyn,tannergooding/roslyn,paulvanbrenk/roslyn,jcouv/roslyn,CyrusNajmabadi/roslyn,mattscheffer/roslyn,Giftednewt/roslyn,sharwell/roslyn,xasx/roslyn,reaction1989/roslyn,genlu/roslyn,VSadov/roslyn,sharwell/roslyn,nguerrera/roslyn,bartdesmet/roslyn,jcouv/roslyn,genlu/roslyn,abock/roslyn,dpoeschl/roslyn,MichalStrehovsky/roslyn,wvdd007/roslyn,reaction1989/roslyn,OmarTawfik/roslyn,AlekseyTs/roslyn,jamesqo/roslyn,mgoertz-msft/roslyn,tmat/roslyn,reaction1989/roslyn,DustinCampbell/roslyn,physhi/roslyn,mavasani/roslyn,CyrusNajmabadi/roslyn,OmarTawfik/roslyn,dpoeschl/roslyn,aelij/roslyn,AdamSpeight2008/roslyn-AdamSpeight2008,AmadeusW/roslyn,ErikSchierboom/roslyn,lorcanmooney/roslyn,mavasani/roslyn,KevinRansom/roslyn,jcouv/roslyn,xasx/roslyn,nguerrera/roslyn,heejaechang/roslyn,KirillOsenkov/roslyn,shyamnamboodiripad/roslyn,brettfo/roslyn,dotnet/roslyn,shyamnamboodiripad/roslyn,AmadeusW/roslyn,mattscheffer/roslyn,gafter/roslyn,AlekseyTs/roslyn,aelij/roslyn,KevinRansom/roslyn,heejaechang/roslyn,eriawan/roslyn,diryboy/roslyn,weltkante/roslyn,jamesqo/roslyn,tannergooding/roslyn,stephentoub/roslyn,bartdesmet/roslyn,wvdd007/roslyn,jmarolf/roslyn,mgoertz-msft/roslyn,ErikSchierboom/roslyn,physhi/roslyn,nguerrera/roslyn,MichalStrehovsky/roslyn,paulvanbrenk/roslyn,cston/roslyn,agocke/roslyn,VSadov/roslyn,bkoelman/roslyn,swaroop-sridhar/roslyn,eriawan/roslyn,jmarolf/roslyn,brettfo/roslyn,abock/roslyn,VSadov/roslyn,swaroop-sridhar/roslyn,shyamnamboodiripad/roslyn,weltkante/roslyn,diryboy/roslyn,panopticoncentral/roslyn,wvdd007/roslyn,lorcanmooney/roslyn,sharwell/roslyn,tannergooding/roslyn,DustinCampbell/roslyn,genlu/roslyn,gafter/roslyn,panopticoncentral/roslyn,bartdesmet/roslyn,aelij/roslyn,Hosch250/roslyn,cston/roslyn,lorcanmooney/roslyn,ErikSchierboom/roslyn,AmadeusW/roslyn,brettfo/roslyn,bkoelman/roslyn,weltkante/roslyn,tmat/roslyn,agocke/roslyn,jasonmalinowski/roslyn,Hosch250/roslyn,tmeschter/roslyn,davkean/roslyn,tmeschter/roslyn,physhi/roslyn,tmat/roslyn,cston/roslyn,davkean/roslyn,jamesqo/roslyn