Как другие сказали, они не делают того же самого.
В любом случае, в эти дни я склонен не использовать IComparer. Почему был бы я? Его ответственность (внешний объект, используемый для сравнения двух объектов), может быть обработана намного более чистая с лямбда-выражением, подобным тому, как работает большинство методов LINQ. Запишите быструю лямбду, которая берет объекты выдержать сравнение как аргументы и возвращает bool. И если объект определяет свое собственное внутреннее, сравнивают операцию, он может реализовать IComparable вместо этого.
Вам следует взглянуть на команду mkbundles . Он может статически связывать все необходимые библиотеки и среду CLR вместе с вашим приложением в один исполняемый файл.
Также ознакомьтесь с этой страницей о различных способах запуска моно-приложений.