4 ms·
We are a predominantly Unix/Linux shop that has taken over a .NET project. We are doing builds with Hudson and Mono for a web application that gets deployed to
by mcculley 16y ago
We are a predominantly Unix/Linux shop that has taken over a .NET project. We are doing builds with Hudson and Mono for a web application that gets deployed to IIS. Overall, everything works but there have been a few surprises.
One surprise was that debugging is hard because Mono uses a different format for debugging symbols. This means we get tracebacks with no line numbers.
The second surprise is that we have to munge resulting executables with corflags.exe to force them to run in 32-bit mode on 64-bit boxes where there are library dependencies that keep them from being 64-bit clean.
We are trying to develop using MonoDevelop but there are some weird incompatibilities with the SQL Server client library. These are not insurmountable, but it has been a hassle.
The other hassle is that MonoDevelop is terribly slow. It does not appear to be able to do incremental compiles so any change to the project results in a recompile of the entire project.
- audidude 16y agoUse pdb2mdb to convert your symbols from the .net to mono format. Place the .mdb's alongside your dll/exe. Then you will get files and line numbers.
- mcculley 16y agoI can't. I have the reverse problem. I am building on Mono and deploying to IIS.
- sandGorgon 16y agohow is the performance of Mono/ASP.net vs stacks like RoR, PHP, etc. on Linux ?
- mcculley 16y agoI haven't done any benchmarking and I don't use RoR or PHP much, but as a data point, the Mono stuff running under Apache seems slower than similar Java code running under Tomcat.
- migueldeicaza 16y agoMono's ASP.NET or MVC or Manos are all running natively compiled code, so for equivalent tasks they should all be faster than interpreted languages. Whether this matters or not will depend on the what your application is doing and how many users you have. For example, if your application is database bound or file system bound you wont likely notice much of a difference as the time you spend running CIL code or interpreted code is a small portion of your overall CPU consumption. With Mono 2.8 we significantly improved Mono's web server scalability, but this will not matter if your application does not use or require more than a handful of CPUs. But is incredibly useful for people that are scaling servers under load.
- runjake 16y agoMiguel, How is your team keeping such a fast pace? Do you get a lot of assistance or documentation for Microsoft. Your rate of feature parity with the MS releases is impressive.
- migueldeicaza 16y agoWell, we prioritize what developers need using our Moma tool (this tool does a static analysis of your executables and libraries and informs us what APIs are the most important to get). In addition, a big help was the fact that Microsoft open sourced large swats of code in this release (DLR, MWF, OData, LINQ, and a bunch more).
- migueldeicaza 16y agoWell, we prioritize what developers need using our Moma tool (this tool does a static analysis of your executables and libraries and informs us what APIs are the most important to get). In addition, a big help was the fact that Microsoft open sourced large swats of code in this release (DLR, MWF, OData, LINQ, and a bunch more).
- migueldeicaza 16y agoCome join us on irc, at irc.gnome.org, channel #mono and #monodev and we can give you some ideas that might improve your development pipeline.
- mcculley 16y agoAwesome. Thank you. I will do that. I do suspect that there might be changes to my project structure that would make things easier under MonoDevelop. I should have made clear that other than these little annoyances, we love MonoDevelop. I certainly prefer using it within my standard Linux and OS X environments over figuring out what I need to click on in Visual Studio to get anything done.