Помогите вот с чем:
Пишу софтину атоматизации приложения скриптами (плагин для CAD) — могу встроить vba (с помощью VBA SDK),
но хочу встроить C# — он работает быстрее (в моем случае это важно + в c# есть лямбда и linq)).
Задачи встают такие:
1) Генерить в рантаймме! для базы (к примеру MS SQL) код — получать программные сущности для таблиц/связей
(чтобы по ним можно было строить linq запросы);
2) Динамически компилячить мудули из сгенерированного кода;
3) Динамически выполнять код написанного юзером кода (скрипта)
4) Сделать подсветку синтаксиса (менее важно) и автолист меберс в текущем дата-контексте (вот это важно!)
5) Рендерить консольный output и дампить объекты в удобный, так сказать human-readable form
6) На будущее — сделать дебаг кода.
Вопрос — с помощью чего это все делать (по крайней мере чтобы не изобретать велосипед)
Я пока вот что намозговал (прямо по пунктам):
1) Либо вызывать SQLMetal (он быстрый), либо dbmetal из комплекта dblinq
(можно также раздербанить его исходники), либо использовать командную тулзу SubSonic'а
2), 3) пока не знаю — начал копать cs-script, nscript, DotNetScript — кто-нибудь имеет
опыт с чем-нибудь (по идее желательно чтобы двиг имел задел и на возможность подсовывания vb.net)
4) (Avalon Edit + SharpDevelop.Dom) by ICSharpCode
5) xml/xslt + нужен быстрый html-рэндерер. Думаю в сторону HTMLayout (есть другие предложения — биндинги WebKit? QT? Gecko?)
6) для меня темный лес
В итоге должен полжно получится что-то вроде linqpad со своей спецификой.
Очень нужны советы по любому из пунктов.
Заранее спасибо.