Avoiding .NET versioning hell

Posted by moogs on Stack Overflow See other posts from Stack Overflow or by moogs
Published on 2010-03-11T11:04:29Z Indexed on 2010/03/18 5:51 UTC
Read the original article Hit count: 677

Filed under:
|
|

So sometimes (oftentimes!) you want to target a specific .NET version (say 3.0), but then due to some .NET service packs you get into problems like:

  • Dispatcher.BeginInvoke(Delegate, Object[]) <-- this was added in 3.0 SP2 (3.0.30618 )
  • System.Threading.WaitHandle.WaitOne(Int32) <-- this was added in 3.5 SP1, 3.0 SP2, 2.0 SP2

Now, these are detected by the JIT compiler, so building against .NET 3.0 in Visual Studio won't guarante it will run on .NET 3.0 only systems.

Short of

  • confirming each and every function you use, or
  • limiting your development environment to .NET 3.0 (which sucks since you have to develop for other projects too)

what's the best way to avoid against using extensions?

Thanks!

© Stack Overflow or respective owner

Related posts about .NET

Related posts about dll-hell