Running vswhere.exe -version 17 doesn't set the version range to be [17,18) but rather uses the max version for the upper bound. It may be less confusing to support a single version value for -version and set the maximum of the range to be the same as the minimum.