在这一部分,我将介绍两个版本切换和转换工具,它们虽然简单,但极为有用。第一个工具是ASP.NET Version Switcher,它可以切换虚拟目录运行下的ASP.NET版本。第二个工具是Visual Studio Converter,它可以将项目文件在Visual Studio .NET 2002 和Visual Studio .NET 2003之间转换。
当IIS处理请求时,先查看被请求文件的扩展名,然后基于Web 站点或虚拟目录的扩展名映射,或者将请求委托给ISAPI扩展处理,或者由自己处理。这就是ASP.NET 的工作原理,扩展名映射注册了所有的ASP.NET扩展名并将它们指引到aspnet_isapi.dll。这不会有什么问题,但如果你安装了ASP.NET 1.1,会将扩展名映射升级到新版本的aspnet_isapi.dll,当建立在ASP.NET 1.0 上的应用程序试图运行在版本1.1时,就会引起错误。为了修正这个问题,你可以将所有扩展名映射切换回1.0版本的aspnet_isapi.dll,但手工切换18个扩展名映射可不是一件有趣的事。这时,ASP.NET Version Switcher就有了用武之地。它可以切换任何单个ASP.NET应用程序使用的.NET Framework版本。
ASP.NET Version Switcher如图9所示。使用时,只需简单地选择应用程序,然后选择应用程序想要使用的.NET Framework版本。按下切换按钮,它就会使用aspnet_regiis.exe命令行工具将应用程序切换到所选择的.NET Framework版本。当ASP.NET和.NET Framework未来版本发布后,这个工具会更为有用。
图9 ASP.NET Version Switcher
ASP.NET Version Switcher由Denis Bauer 编写,下载网址:http://www.denisbauer.com/NETTools/ASPNETVersionSwitcher.aspx。
Visual Studio .NET Project Converter(见图10)非常类似于ASP.NET Version Switcher,它用于转换Visual Studio项目文件的版本。尽管.NET Framework版本1.0 和1.1仅小有不同,但项目文件一旦从Visual Studio .NET 2002 转换到Visual Studio .NET 2003,就再转换不回来了。虽然大多数情况下这可能不是一个问题(因为.NET Framework版本1.0 和1.1之间没有大的变化),但有时候你可能需要将项目转换回来。这个转换器可以将任何解决方案或项目文件从Visual Studio 7.1(Visual Studio .NET 2003)转换到Visual Studio 7.0(Visual Studio .NET 2002),如果需要还可以转换回来。
图10 Visual Studio .NET Project Converter
Visual Studio .NET Project Converter由Dacris Software公司编写,下载网址:http://www.codeproject.com/macro/vsconvert.asp。