When SemVer.Parse() or SemVer.ParseWithRev() gets called with a semantic version string, it first checks the string against the SemVer compliance using the following regular expression (fetched from this). If it doesn't find any version element, such as the case of 1.0-1, it returns an error.