фреймворк - это набор классов и вспомогательного кода, который будет использоваться для создания приложений. это может быть так же просто, как стандартная библиотека C, так и сложная, как среда Smalltalk, или даже может включать инфраструктуру для сложных приложений, таких как Dynamic или ERP-системы, - но по сути инфраструктура - это просто библиотека классов
IDE (Integrated Development Environment) - инструмент для написания программ; этот инструмент по сути является просто программой, которая содержит текстовый редактор, который поддерживает компиляцию и отладку и др.
[кстати, mono - это реализация платформы .NET для Linux.]