【问题标题】:Where are the .NET framework 3.0 tools like msbuild.exe?像 msbuild.exe 这样的 .NET Framework 3.0 工具在哪里?
【发布时间】:2012-10-12 23:31:52
【问题描述】:

当我枚举 Microsoft.NET Framework 目录时,没有任何适用于 .NET v3.0 的目录。

PS> Resolve-Path c:\windows\Microsoft.NET\Framework\*\msbuild.exe

Path
----
C:\windows\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe
C:\windows\Microsoft.NET\Framework\v3.5\MSBuild.exe
C:\windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

这些工具是 .NET v2.0 安装的一部分,而 .NET v3.0 是一个简单的附加组件吗?还是 .NET v3.5 取代了旧工具?

【问题讨论】:

    标签: .net msbuild .net-3.0


    【解决方案1】:

    引用此MSDN 网站:

    此版本 (3.0) 本质上是 .NET Framework 2.0,并添加了 Windows Presentation Foundation (WPF)、Windows 通信 Foundation (WCF)、Windows Workflow Foundation (WF) 和 CardSpace。它 已更新为 SP1 和 SP2。

    我猜是因为没有添加新功能,也没有创建新版本的 CLR,即使相同的 VS2005 版本可以构建 .net 3.0 项目,相同的 MSBuild for .Net v2.0 也适用于 .Net v3.0 .

    另一方面,在 v3.5 中,发布了新版本的 VS(2008),并添加了功能(LINQ):

    添加了新功能,例如支持 AJAX 的网站和 LINQ。 SP1 更新添加了动态数据,以及一小组额外的增强功能。

    【讨论】:

    • 3.5 still 使用 .NET 2 运行时,不过(4.0 是包含新运行时的下一个版本),所以你的推理有一点缺陷 ;-)
    • 是的,但是 C# 和 VB.Net 编译器在 .net v3.5 和 .net v3.0/v2.0 之间是不同的,当 MSBuild 调用它的 Csc 任务时,它使用的是相对于它的路径(除非另有说明?)。
    【解决方案2】:

    .net 3 和 3.5 都在 .net 2.0 clr 下运行,基本上都是功能包。 .net 4 在新的 clr 下运行,我认为这意味着不同版本的 msbuild 等。

    【讨论】:

    • 在 v3.5 的情况下,我看到了一个特定的 msbuild.exe。
    【解决方案3】:

    .net 框架版本和 CLR 版本基本上是不同的,.net 版本在 CRL 版本的引擎盖下运行。您可以在创建新网站或更改应用程序池的 .net 框架版本时看到差异,您可以看到列表显示的版本少于您认为已安装的版本。他们喜欢在1.0、2.0和4.0以下。

    对于 .net framework 1.x,CRL 版本为 1,对于 2.0 和 3.X .Net framework,CLR 版本为 2.0,对于 .net framework 4.x,CLR 版本为 4.0

    好多了explained here

    【讨论】:

      【解决方案4】:

      这背后的原因是 .NET 3.0 到来时无需更新 MSBuild.exe。在这种情况下,重用 .NET 2 MSBuild 是明智的。

      MSBuild.exe 3.5 引入了许多关键更新,

      http://blogs.msdn.com/b/msbuild/archive/2007/11/22/msbuild-3-5-orcas-has-now-shipped.aspx

      ,但主要特点是:

      -- 多处理器支持- 目前仅命令行,只需使用 /m 开关构建您的解决方案。包括一个新的改进的控制台记录器 针对多进程构建进行了优化

      -- 多目标支持 -- 如果您愿意,可以使用 MSBuild 3.5 构建面向 .NET 2.0 的项目;在树或解决方案中混合目标

      -- 性能改进。您应该会看到完整构建的改进,尤其是增量构建。我们已经看到了一些 更大的增量构建方案速度翻倍。在 Vista 上,我们看到 由于 SuperFetch,更大的改进。这一切都没有 启用多进程!

      几个小功能

      -- ItemDefinitionGroups -- 项目的“类型”。

      -- 目标内部的 PropertyGroup/ItemGroup 就像外部一样 -- 不再有不可读的 CreateItem/CreateProperty

      -- 能够在构建期间从列表中删除项目并修改项目元数据——不再“晃动”到另一个列表中

      因此,我们看到 .NET 3.5 附带了一个新的 MSBuild。这也适用于 .NET 4 和 .NET 4.5,其中 MSBuild 收到了进一步的更新,

      http://msdn.microsoft.com/en-us/library/ee240939(v=vs.100).aspx

      http://msdn.microsoft.com/en-us/library/hh162058.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-13
        • 2015-07-14
        • 1970-01-01
        相关资源
        最近更新 更多