Skip to content
yfakariya edited this page Jun 3, 2012 · 2 revisions

There are a few limitations for Mono.

  • Concurrency is limited. Because of Mono's asynchronous Socket API implementations, concurrency is limited now. If you want to use Mono build for scalable server, you should implement custom transport to use more clever method like worker sockets.
    Note that you might improve concurrency for TCP by increasing minimum worker threads count with ThreadPool.SetMinThreads.
  • No Packages. There are no packages for Mono build. Packages on NuGet is not available on Mono for some API incompatibility.
  • Use *.mono.sln or *.mono.csproj to build for Mono version. There are some API incompatibility between .NET and Mono -- mainly Code Access Security related APIs and advanced Socket APIs -- so you cannot build normal solution/projects on Mono.