Hi all, before I started to modifiy things for 4.0 and client profile the NAnt build was setting a compilation symbol for the "family" like "NET", "NETCF", "MONO" and one for the specific version "NET_1_1", "NET_2_0" and so on. Also the conditional compilation sections seem to not assume NET_2_0 was a superset of NET_1_1.
What I have done for now is piggy-back on NET_2_0 for both cases. I have added CLIENT_PROFILE and NET_4_0 and define them in addition to NET_2_0 and NET as this required the least changes to the code base. This way I didn't need to hunt down all places that say NET_2_0 and add a "|| NET_4_0". But I start to feel that the correct way would have been to define NETCP as a new "family", NETCP_3_5 ans NETCP_4_0 as new versions and to also change all conditionals that rely on NET_2_0 so they apply to the (then) two 4.0 and NETCP_3_5 as well. So #if NET_2_0 would become #if NET_2_0 || NET_4_0 || NETCP_3_5 || NETCP_4_0 This would create more complex conditionals but at the same time be consistent with what has been done for the existing codebase. What do you think? Stefan