Answer the question
In order to leave comments, you need to log in
Simultaneous project management on multiple platforms?
Hello. I wanted to ask if there are people in the community who develop a project for several platforms at the same time (in this case, I mean .Net in the classic version, the version does not matter, and Mono, plus Mono for Android). A question of this kind arose: how to properly organize the Solution in order to keep libraries for all platforms in it. Example - we are writing a class library (Class library), which should be used on all platforms. But, for example, SoapFormatter is not supported on Mono for android, so code sections responsible for working with Soap should be excluded from the class for this platform. At the same time, it turns out that for each platform it is necessary to create this library separately with the same name (three pieces), make copies of all files with source code (say, there are 10 of them in the library, 30 in total),
Maybe there is a certain methodology that describes how to work correctly in such cases, how to properly organize such work, monitor the correctness of the code for all platforms, etc. Or can anyone share their experience?
Answer the question
In order to leave comments, you need to log in
You need to use conditional compilation blocks and, depending on the platform, include the required code.
And the development option for the most limited version, with subsequent transfer to the rest, is not suitable?
To build for different platforms or versions, you can write a job for build systems (and then run them, for example, 'Ant was' - build for IBM WebSphere, or 'Ant tomcat' - build for Apache Tomcat).
To test code for different platforms, fix bugs for different supported versions - write unit tests that reproduce the bug in the code, or an integration test for more complex bugs. Accordingly, if the error was corrected for only one platform, then autotests will fail under another platform.
You can also install version control hacks that will not pass commits with a # comment to the current branch until bugs are closed on other maintained branches (although I do not like this option, it was used in some companies where I worked).
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question