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

Reply via email to