TechEd Braindump: What’s New in the Framework for Version 2.0

 Speaker: Joel Pobar

 

  • New features include: serial port, compression, strongly typed resources
  • Improved features include: console support, threading, diagnostics, networking.
  • New console features are color, positioning, and beep. BEEP!
  • Showed a really cool demo of a space invaders type console game. Available on GotDotNet.com
  • Networking support
    • FTP Protocol support
    • Automatic proxy discovery: Integrated with IE
    • HTTP requesting caching: integrated w/ the IE cache
    • HTTP Listener: Receive HTTP requests inside your application
    • Network information: Enumerate cards on the machine, get notified when things change.
  • The ? Operator in C# acts like the VB IIF statement
    • String s = (x — null) ? ‘true’ : ‘false’
  • A new class called Ping has been added. It acts just like a ping statement. Very nice.
  • 32 bit apps will run under 64 bit if they have the 1.0 or 1.1 framework installed.
  • Whidbey utilizes 64 bit under three options: MSIL Only (default), x86 (32bit), x86-64/IA64 (64bit). If you need to access a COM component then you need to compile as 32 bit or access them out-of-process.
  • VS.Net is a 32bit app that can develop, deploy and debug 32 or 64bit applications.
  • CLR objectives:
    • Long term: make the performance characteristics of the CLR similar to native code
    • Short term: reduce startup time and working set
  • Ngen.exe has been enhanced
    • Compiles IL code to native code, saving results to disk.
    • Advantages” no need to recompile IL to native code and class layout already set so better startup time.
    • CLR 2.9: significant reduction in the amount of private, non-shareable working set. This was at 60% in 1.1 its now at 10% in 2.0.
  • Whoops! He referenced Google as a verb and caught himself with “MSN Search”. The audience got a good chuckle outta that.
  • Cross AppDomain Remoting is 200x faster
  • The reflection working set has been improved as well. Reflection now has better memory management.
  • Exceptions should be used in exceptional cases.
  • TryParse is a new function that parses a string quickly
  • Generics in VB can be defined by using the Of keyword.
  • Nullable: Allows the assignment of Null to a primitive type.
  • PKI and PKCS7 are now supported. There s enhanced support for x509 certificated and XML encryption support.
  • The SecureString adds encrypted string support out of the box.
  • Edit and Continue is back! Dang right!
  • Allowed Edits for Edit and Continue
    • Add private fields to a class.
    • Add private non-virtual methods to a class
  • Disallowed Edits for Edit and Continue
    • Removing fields and methods
  • You can now tell the debugger how to display a function in the locals window.
  • There will be a Rotor version 2. Rotor is the source code of the CLR. It will be released three to six months after Whidbey. It will have the same license as the current version of Rotor.
  • IronPython is the CLR version of Python. Python is a real time programming language. He showed a real cool demo that showed IronPython interacting with the Merlin office assistant. On-the-fly coding is cool. http://workspaces.gotdotnet.com/ironpython.

Disclaimer: These are my notes from my experience at TechEd 2005. I do not guarantee the validity or accuracy of these notes. They are my thoughts and what information I felt was important at the time.