Using MVC 6, at the time of writing, Tagbuiler.InnerHtml has indeed no setter anymore. It has some methods instead to append the element. For instance you could write:
var container = new TagBuilder("div");
var input = new TagBuilder("input");
container.InnerHtml.AppendHtml(input);