Pergunta

When developing, testing and debugging Mono applications under Windows, should I go with MSBuild/.NET (and a mono profile like explained here) only or should I (also) go with XBuild/Mono?

The reason why I asked is because I digged a lot about development setups for Mono in a windows environment and developing & debugging with MSBuild / .Net seems to be favoured (see here for example).

You just build the applications in Visual Studio, and run them under Mono instead of under .NET. The binaries should be compatible... but you'll need to make sure you don't use any libraries which aren't available in Mono - see the Mono Application Compatibility Guidelines.

I wonder if this is really the way to go? Since XBuild and Mono also run under windows, wouldn't it be better to instead (or also) build and debug it with a Mono setup. Debugging XBuild compiled Assemblies with Visual Studio is also possible, so that wouldn't be a reason to do not. I guess there could be errors that wouldn't show up during development phase when using MSBuild/.NET only. Isn't it bad when these erros show up later during deploying and testing phase on other OS like Linux? Or are the differences between between MSBuild / XBuild not remarkable and i shouldn't bother about this?

Foi útil?

Solução

I would recommend both. In the past I had configured Team City to build my solutions using both msbuild on a Windows agent and xbuild on a Linux/OSX agent. This way I could be sure that it always worked on both. I am sure you could find some way to cause xbuild to fail and msbuild not to but you probably won't know what those things are until you cause them. Distributed CI can be pretty handy for cross platform work.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top