Проблема возникает из-за того, что система, в которой выполняется код, отличается от той, которую вы используете в своей среде разработки.
Обычно я заменяю запятые точками и использую decimal.Parse
:
decimal.Parse(yourString.Replace(',', '.'), NumberStyles.Any, CultureInfo.InvariantCulture);