February 2003 - Posts

See no ..., hear no ...

How evil are you?
Role based security

The object guy has an extension on the intrinsic role based security of .NET. You can find it here.

IDE Hell

Could everyone who uses Visual Studio.Net, and plans on distributing/bequeathing their code to anyone else, please give a thought to people who don't use it?  I'm sure it's a lovely environment that makes you x times more productive than me, but be aware that VS.Net can be very invasive to source code.  You know (I hope) what I'm talking about: ... (see link for full story)

[http://dotnetweblogs.com/JArnold/archive/02212003.aspx#2740]

I say Partial classes and Preprocessor Symbols!

  • On the subject of partial classes: maybe in .NET V2 they will put this kind of designer stuff in a partial class.
  • On the subject of Preprocessor Symbols: This may provide to be a workaround in .NET V1. You can put your preprocessor symbol using an #if #endif around this VS.NET support code. Read up in the SDK docs.

#if ISVSNET
 //VSNET code
#elif
  //You're opensource ~ other IDE code
#endif

Ofcourse, you're refering to "other people's code" (so don't think I missed the point).  The problem is that during the development of .NET, design choices where made (and now I'm particularly refering to the InitializeComponent) by its designers which are not always what we want.  Let me put it another way: this is not always a world of choice.

On another note, if you download code like that(the hit the F5 button type), I can't imagine you can use it for anything more than evaluation and learning purposes (and won't spend your time removing the comments, regions, etc...).  A bigger problem is converting the .sln file to a NAnt build file (a starting point is Gordon Weakliem's Radio Weblog - I believe there's also a tool that converts between the two formats).

#Develop is an IDE that understands both regions, windows forms designer support code and XML comments.

Download IE webcontrols

I probably won't have been the first to notice this, but just in case, the ie webcontrols have become opensource [http://www.asp.net/IEWebControls/Download.aspx].

What's your versioning scheme?

I always wondered how other people version their .NET assemblies.  What seems to be obvious at first (Major.Minor.Build.Revision) becomes harder as you have to deliver support and patches once a product has been installed at a customer's site and meanwhile development for the next version (be it a minor one) is well on it's way.  How do I create a patch (read bugfix) for the version that my customer has? This is a problem - and correct me if I'm wrong - I don't see in opensource projects as one can easily download the code, adapt it, use it at the customer's site and post a request to include the fix or feature in a future version.  Meanwhile has anybody thought about that little interim build's version number?  Back to my product: I can't just increase the build number for the patch as it will conflict with the builds of the next version.  We redefined the version scheme of our assemblies to be Major.Minor.Patch.Build.  How does this solve our build number collision problem?  It doesn't.  Instead, when making a Patch, we increase the patch number and the build number, but the buildnumber still collides with the build number of the next version.  But at least we can make out the difference between a Patch on an earlier version and the build of a newer version, by means of the Patch number.  Why didn't we go for the minor number instead of the patch number and versioning scheme alteration?  Because the next version maybe a minor one.

More Posts