Переполнение стека в реальном коде происходит очень редко. Большинство ситуаций, в которых это происходит, является рекурсиями, где о завершении забыли. Это могло бы однако редко происходить в высоко вложенных структурах, например, особенно больших XML-документах. Единственная реальная справка здесь должна осуществить рефакторинг код для использования явного объекта стека вместо стека вызовов.
Ответ сильно зависит от того, что вы пытаетесь сделать.
Mono Project позволяет запускать приложения на основе CLR в OS X. Однако библиотеки Mono не являются полными копиями библиотек в официальных средах выполнения Microsoft .NET, и создавать программное обеспечение довольно просто. который отлично работает в Windows, но терпит неудачу в Mono. Mono Migration Analyzer , также известный как MoMA , - это инструмент, который вы можете использовать со своими сборками .NET, чтобы узнать, будут ли они работать в Mono, и, грубо говоря, насколько хорошо .
Одно место, где вы почти наверняка столкнетесь, учитывая, что вы пишете приложение VB.NET, - это библиотеки GUI. WinForms требует X windows на Mac, который не установлен по умолчанию. Хотя Mono предоставляет некоторые возможности для создания собственных графических интерфейсов с использованием .NET, для этого потребуется переписать ваш пользовательский интерфейс более или менее с нуля - и основной проект, Cocoa # , на данный момент кажется совершенно мертвым.
Итак, в основном: если ваше приложение работает Это не приложение с графическим интерфейсом, ваши шансы на запуск на Mac, вероятно, довольно высоки. В противном случае, вероятно, стоит приложить усилия в другом месте.
Вы можете попробовать Mono. Он работает в Windows, Linux и Mac OS.