Microsoft Bot Framework ругается на символ $ в дефолтном коде, почему?
Студия 2013 Pro
При создании проекта в Microsoft Bot Framework генерится код
int length = (message.Text ?? string.Empty).Length;
// return our reply to the user
return message.CreateReplyMessage($"You sent {length} characters");
При компиляции ругается на символ $ .
В чем проблема, я понимаю что это скорее всего аргумент для функции CreateReplyMessage, но почему он ругается не понимаю.
Потому что кто-то (не будем показывать пальцем) насильно заставляет переходить на новые версии продуктов, предлагая писать несовместимый код, причем уже не первый раз :-)
return message.CreateReplyMessage(String.Format("You sent {0} characters", length));
Спасибо всем большое! Первый мой вопрос на тостер и сразу получил такой отклик от вас! Поменял как и советовали на String.Format() - всё заработало. Недавно начал работать с C# - перешёл из смежной Microsoft технологии, и не знал что кое-кто "таким" способом продвигает свою продукцию
Да, действительно у них написано что лучше использовать 2015 студию, но так же говорится о том что можно работать и на более ранних версиях, т.е. нет ограничения по минимальной версии.
Есть способы обойти данную ошибку именно на 13 версии?
Если код можно менять, то, как советует Sharp, по старинке использовать string.Format.
Т.е. меняете Ваше
return message.CreateReplyMessage($"You sent {length} characters");
на
return message.CreateReplyMessage(string.Format("You sent {0} characters", length));