Dictionary<string, List<string>>
реализует IDictionary<string, List<string>>
, пока вы пытаетесь привести его к IDictionary<string, *I*List<string>>
.Это недопустимо, потому что IDictionary<string, IList<string>>
имеет, например, метод Add
, принимающий экземпляр IList<string>
, а метод Add
в вашем Dictionary<string, List<string>>
не примет IList<string>
в качестве входных данных.