在.NET 1.1, 只有主线程中未处理的异常才会终止应用程序的运行,其他的线程的异常.CLR会处理,因此你的应用程序可以正常运行.在 .NET 2.0, 任何线程上的未处理的异常都可能终止应用程序的运行 (具体信息参看Exceptions In Managed Threads ). 这对于Asp.net开发者来说,特别在将1.1程序升级到2.0的时候需要特别注意这点,如果你的程序中对异常处理有统一的策略,所有的异常都进行了处理.那非常不错.不然你的程序的异常处理可能就会带来致命的问题.
可以参照.Unhandled exceptions cause ASP.NET-based applications to unexpectedly quit in the .NET Framework 2.0
另外推荐一个 .NET USB开发方面的一个开源项目
.NET 包含的基类库 (BCL) 不支持与 USB 设备进行会话。大多数情况下,如果要从 .NET 访问 USB 设备,需要使用设备制造商提供的高级类库。这是一个SourceForge上的开源项目。MSDN中的介绍文章:为超炫的 USB 硬件编写更好的软件。