Securing .Net code (the 3rd party conundrum)
I think, except for the open source community, any .Net project wants its code locked and secured. We are currently in the analysis phase of a large scale client-server project and it's simply not acceptable for us to provide a commercial solution which source code can be inspected to the last detail in a comfortable format.
However, this means making a ~2k investment on a 3rd party solution, because Microsoft doesn't offer the necessary tools to secure .Net source code. Out of the box, any compiled and shipped .Net project is the equivalent of an open source application limited by copyright notices, but not physically constrained. Anyone, with just general .net programming knowledge can reverse engineer a system. This isn't acceptable.
Being this such an intrinsic aspect to development, it's no wonder that while C# has seen quite an increase in enterprise development, to this day it still lacks any sort of sex appeal for general consumer software developers. The investment in 3rd party solutions can be too big for many of these small outfits.
What troubles me is that since the decision was made early on by Microsoft to not provide the tools and the mechanisms for properly securing source code in .Net, the proliferation of 3rd party solutions was inevitable. Essentially all of them with vested commercial interests. Any attempt now to do so would probably be met with angry anti-competitive cries from these companies which I suspect they could bring to court and win.
My questions... how much do you think this affects the adoption of .net for general consumer-grade software? Was it a mistake by Microsoft to not provide these tools? Could it provide them sometime in the future without risking a judicial backlash? Why do you think they didn't offer these solutions when the .Net platform was widely advertised as a development target for general consumer software and enterprise software alike? Doesn't Microsoft early decision contrasts with their desire to make the .Net platform ubiquitous in the Windows development arena?