gpt4 book ai didi

c# - 使用 MsBuild 4.0 编译的程序集是否与只有 .NET 3.5 的计算机兼容?

转载 作者:行者123 更新时间:2023-11-30 19:20:52 24 4
gpt4 key购买 nike

在目标框架为 3.5 的项目中,以下行使用 MsBuild 4.0 进行编译:

 aEnumerable.Select(aMethod);

但是 MsBuild 3.5 要求我写:

 aEnumerable.Select(item => aMethod(item));

这两个二进制文件是否可以在没有 .NET Framework 4.0 而有 .NET 3.5 的机器上运行?

PS:虽然我展示了一个使用“方法重载推理”的示例,但其他“4.0”功能(例如“命名参数”)也会发生同样的情况。

此问题的另一个标题可以是:C# 4.0/Visual Studio 2010 的哪些功能与 .NET 3.5 兼容?

最佳答案

您混淆了 Msbuild 和 .NET 框架。

Msbuild 只是一个构建.NET 项目的工具。构建 .NET 4 项目需要 4.0 版,但它也可以构建 .NET 1.1、2.0、3.0、3.5、3.5 SP1。 就像使用 Word 2010 打开 Word 2003 文件一样。 2010 会打开两个,但是如果你给它一个 2010 文件,2003 会崩溃

您的代码示例显示了在 4.0 版中添加到框架中的差异。您无法在未安装 .NET 4.0 框架的计算机上执行 .NET 4 代码。不管用什么构建它,运行时都无法理解 CLR,它也不会运行

至于 msBuild 本身:MsBuild 4.0 是一个新版本,主要更新为支持 .NET 4,但也有自己的功能。如果您需要这些详细信息,请参阅 msbuild4 的发行说明。

也就是说,只要正确配置了 targetFramework,MsBuild 4 就完全能够生成 .NET 3.5 输出。 (在我们将所有项目升级到 .NET 4 框架之前很久,我们就将所有构建转移到了 MsBuild 4.0)

关于c# - 使用 MsBuild 4.0 编译的程序集是否与只有 .NET 3.5 的计算机兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4935896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com