代码之家  ›  专栏  ›  技术社区  ›  recursive

aspnet命令行工具位置

  •  0
  • recursive  · 技术社区  · 15 年前

    Microsoft提供了许多用于处理ASP.NET应用程序的命令行工具。我使用这些工具没有遇到任何困难。但有一件事我不能理解,那就是这些工具的位置。

    即使是针对.NET较新版本的应用程序,这些工具也位于.NET v2目录中。在我的机器上,这是 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 . 为什么这些工具不存在于 v3.0 v3.5 目录?为什么旧目录中的那些在新框架上工作?

    对我来说,这更多的是一种无聊的好奇心,而不是所需的知识,但我想知道。

    更新:

    谢谢大家的回答。不过,这些答案提出了一个新问题。我希望你能原谅我在这里提出的要求,因为它是高度相关的。如果.NET 3.5真的只是使用来自2.0的CLR,为什么2.0与Windows 2000兼容,而不是3.5兼容?在我看来,如果3.0和3.5中的更新在早期版本的框架内运行,那么它们也必须与早期版本保持与相同平台的兼容性。为什么这是错误的?

    4 回复  |  直到 15 年前
        1
  •  3
  •   Rex M    15 年前

    .NET 3.0和3.5基本上是 just library additions to the 2.0 framework .

    添加.NET 3.0并不意味着有新的编译器或新的CLR。相反,它是三个主要的新库:WCF(Windows通信基金会N.O.E.EDIGIO)、WPF(Windows演示基金会No.E.Avalon)和Windows工作流或WF。

    基本上,记住框架版本!= CLR版本。如果您将IIS应用程序配置为使用.NET 2.0,那么您将讨论2.0 CLR。WCF应用程序将.NET 2.0 CLR与新的3.0 WCF库一起使用。

    * .NET Framework 1.x = CLR 1.x
    * .NET Framework 2.0 = CLR 2.0
    * .NET Framework 3.0 = CLR 2.0
    * .NET Framework 3.5 = CLR 2.0 + (C# 3.0 | VB9)
    

    编辑 : 为了回答第二个问题,.NET 3.0和3.5有新的库,它们引用了操作系统级的特性,比如 WPF ,在Windows 2000上不可用。如果使用3.5*编写应用程序,但只使用2.0中提供的功能和库,则它仍然可以在Windows 2000上工作。

    *在3.5中,我们的意思是在3.5中的Visual Studio 2008中编写,但将项目目标框架设置为2.0。汉塞尔曼 talks about doing this 让ASP.NET MVC在.NET 2.0上工作。

        2
  •  1
  •   ScottS    15 年前

    这是因为.NET的核心自2.0版以来实际上没有被更改。MS市场营销类型在当时被嘲笑为强制使用命名方案,其中.NET 3和.NET 3.5实际上只是添加了在.NET 2核心上运行的附加库。

    看看斯科特·汉塞尔曼的 blog post 了解更多详细信息。

        3
  •  1
  •   Mike C.    15 年前

    因为.NET 3.0和3.5是 应用 对于.NET 2.0,不是完整的独立框架。这在IIS配置中可以进一步看到,在该配置中,您只有选择.NET 1.0、.NET 1.1和.NET 2.0的选项。web.config文件将包含任何.NET 3.0或.NET 3.5程序集,因为这些程序集最终是用.NET 2.0代码编写的。有关这方面的更多详细信息,请参见: http://www.hanselman.com/blog/HowToSetAnIISApplicationOrAppPoolToUseASPNET35RatherThan20.aspx

    当然,.NET 4.0中的所有更改都将是框架的一个完全“新版本”。

        4
  •  1
  •   David    15 年前

    v3.0和v3.5仍然使用v2 dll作为核心文件。大多数更改都是对v2框架的添加,以及针对3.5的新编译器。