Visual Studio 2008 中的多定向支持

  • Jonathan Allen
  • 霍泰稳

2007 年 6 月 26 日

话题:.NET语言 & 开发

对 Visual Studio 而言,其中一个最大的明显不足之处在于每一个 VS 版本都要绑定一个特定版本的 CLR。比如,使用 Visual Studio 2005 时,你就不可能创建除了.NET 2.0 应用以外的其他应用程序。在 Visual Studio 2008 里,这一问题会随着一个微软称之为多定向(Multi-targeting)的技术出现而得到部分解决。

从.NET 1.0 到 3.5,只能有一个版本的 CLR 可以被装载到一个进程里。因为 Visual Studio 本身部分上就是用.NET 框架构建的,所以它也只能装载自带的 CLR 版本。这就使得它几乎不可能和基于其他版本的应用一起工作。

Visual Studio 2008 其实没有真正地解决这个问题。可以称其为打了一个擦边球,因为.NET 3.0 和 3.5 实际上只是构建于 2.0 运行时上的类库。Scott Guthrie 描述说是通过改变用户接口 实现了这一目的,其方法本质上是使用了一个下拉框,可以从中选择要使用的其他类库(译者注:详情参见 Scott Grthrie 的“Oracs 初览”演示 )。

因为这个问题没有得到彻底的解决,所以如果你要构建.NET 1.0 或者.NET 1.1 应用,还是需要选择各自的开发工具,VS2002 或者 VS2003。不过利好的一面是,至少项目文件不会改变,VS 2005 的用户也可以和 VS 2008 的用户协同工作。

查看英文原文:Visual Studio Multi-Targeting Update
.NET语言 & 开发